摘要: 1.什么是进程池: 进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进进程,那么程序就会等待,直到进程池中有可用进程为止。 2.参数介绍: Pool(numprocess,initializer,initargs) 创建进程池 阅读全文
posted @ 2017-08-30 14:52 嘟囔囔小孩 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1.进程之间相互通信有几种实现方式。 multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的,推荐使用队列,因为管道也需要处理锁的问题。 2队列的主要方法 3.其他的方法(了解) . 4.代码实现: 代码效果: 阅读全文
posted @ 2017-08-30 11:48 嘟囔囔小孩 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: 1.为什么要加锁? 在多个进程共享同一个打印终端的前提下,这样是并发运行的,但是由于竞争同一个输出终端,所以会造成显示错乱,就是各个进程之间的执行结果交叉显示。 要解决上述问题可以采用加锁的处理方式。 2.加锁有什么问题? (1)加锁可以保证多个进程同时输出到终端或者修改数据的时候,同一时间只有一个 阅读全文
posted @ 2017-08-30 10:44 嘟囔囔小孩 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1.守护进程: (1)守护进程会在主进程结束的时候立马结束 (2)守护进程要设置在start之前 (3)守护进程能不能再开启子进程,否则会报错。(错误:AssertionError: daemonic processes are not allowed to have children) 代码例子: 阅读全文
posted @ 2017-08-30 10:17 嘟囔囔小孩 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1.其他方法 terminate 和 is_alive name 与pid 阅读全文
posted @ 2017-08-30 10:11 嘟囔囔小孩 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1.join 例如p.join(timeout),主进程等待p终止。主进程处于等待的状态,p是处于运行的状态。 timeout可以设置超时时间,比如:p.join(1) 主进程就会等待一秒,然后就执行。 注意:p.join只对start方式开启的进程有效,对run方式开启的进程无效。 代码: 运行结 阅读全文
posted @ 2017-08-30 09:50 嘟囔囔小孩 阅读(1067) 评论(0) 推荐(0) 编辑