python 进程/线程详解

进程定义:以一个整体的形式暴露给操作系统管理,它里面包含对各种资源的调用,内存的管理,网络接口的调用等等,对各种资源管理的集合,就可以叫做一个进程。

线程定义:线程是操作系统能够进行运算调度的最小单位(是一串指令的集合)。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

另说明:进程是不能直接操作CPU执行的,每个进程的执行都是默认创建一个主线程来操作CPU进行执行指令集合。

进程和线程的区别:

1:同一进程内的多个线程之间是共享内存空间,每个进程的内存是独立的。
2:同一个进程内的线程之间可以直接交流,而俩个进程如果想通讯,必须通过一个中间代理来实现,如(进程队列,管道,manage)。
3:创建新线程很简单,创建新进程需要对其父进程进行一次克隆。
4:一个线程可以控制和操作同一进程里的其他线程,但是进程只能操作子进程.

举例一个最简单的多线程实现并发效果:

1 import threading,time
2 def fun(n): # 定义一个函数,每次打印后等待2秒钟退出
3     print(n)
4     time.sleep(2)
5 for i in range(5):
6     t = 't%d' % i
7     # 通过线程并发执行5次
8     t = threading.Thread(target=fun,args=('jack',))
9     t.start()
View Code

相关文章: