并发编程

进程

操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅助数据,操作系统管理所有进程的执行,为它们合理的分配资源。

os

multiprocessing

from multiprocessing import Process
from os import getpid

通过Process类创建进程对象,通过target参数传入一个函数来表示进程启动后要执行的代码,args是一个元组,代表传递给函数的参数。

Process对象的start方法用来启动进程,而join方法表示等待进程执行结束。

进程间通信

使用multiprocessing模块中的Queue类,它是可以被多个进程共享的队列。

线程

一个进程还可以拥有多个并发的执行线索,简单的说就是拥有多个可以获得CPU调度的执行单元,这就是所谓的线程。

threading

使用threading模块的Thread类来创建线程

线程池

threadpool

通过“锁”来保护“临界资源”