天天看点

python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

1. Multiprocessing & join:

join:和多线程一样,也是等待的意思。如下图,如没有join则会独立运行。
           
python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

2. RIock.p:

Rlock.p:创建锁。
           
python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享
python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享
with:会自己帮你关掉。
path:路径。
mode:模式a(追加)。
encoding:编码模式:utf-8, gbk,gb12138。
           

3.pipe:

pipe: 创建管道。
           
python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

4.share

share:共享。
 全局变量不可以进程共享
           
python-----05(多进程)1. Multiprocessing & join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

5.Queue

queue.qsize():
        返回队列的大致大小。注意,qsize()>0不保证后续的get()不被阻塞,qsize()<maxsize也不保证put()不被阻塞。
queue.empty():
            如果队列为空,返回True,否则返回False。如果empty()返回True,不保证黄埔徐调用的put()不被阻塞。类似的,如果empty()返回False,也不保证后续调用的get()不被阻塞。
queue.full():
            如果队列是满的返回True,否则返回False。如果full()返回True不保证后续调用的get()不被阻塞。类似的,如果full()返回False也不保证后续调用的pull()不被阻塞。
           
python-----05(多进程)1. Multiprocessing &amp; join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享
python-----05(多进程)1. Multiprocessing &amp; join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

6.进程数据共享

进程间的数据本来是不共享的,通过queue模块和Manager方法可以实现共享。
           

7.进程列表数组共享

创建一个共享的列表/数组
当你有多个进程需要同时操作某一个数组的时候,你就应该搭建一个共享数组Array.
           
python-----05(多进程)1. Multiprocessing &amp; join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享

8.进程字典列表共享

python-----05(多进程)1. Multiprocessing &amp; join:2. RIock.p:3.pipe:4.share5.Queue6.进程数据共享7.进程列表数组共享8.进程字典列表共享