【文件属性】:
文件名称:Python多线程编程
文件大小:492KB
文件格式:PDF
更新时间:2021-07-24 03:08:55
编程
Python多线程编程文档说明
多进程编程
一、 multiprocessing 模块
1. multiprocessing 模块提供了多进程编程的能力
它的API非常类似于 threading 模块,但是也提供了一些threading 模块不具有的能力
相比于线程,它通过派生子进程来绕过GIL 的限制,从而可以充分利用多核处理器的能力
它提供了进程间的同步
1.1 派生模式
1. multiprocessing 模块支持三种派生子进程的模式:
spawn 模式:父进程重新开启一个全新的 python 解释器进程,然后子进程的代码运行在这个新的解释
器进程中
子进程只继承了必要的资源来完成任务。父进程打开的文件描述符和一些句柄不会被子进程继承。
该模式在三种模式中速度最慢
可以用于 Unix/Windows ,是Windows 上的默认方式
fork 模式:父进程使用os.fork() 来派生一个 python 解释器进程。子进程的代码运行在这个新的解
释器进程中
子进程几乎与父进程完全相同;子进程继承了父进程的所有资源
注意: fork 一个多线程的进程是有问题的
只可用于Unix ,是Unix 上的默认方式
forkserver 模式:在这种模式下,父进程派生了一个 server 进程。当任何时候,父进程需要创建子
进程时,由父进