您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 乌海分类信息网,免费分类信息发布

python多进程与多线程精讲实例

2024/2/2 17:45:45发布17次查看
三、python多进程编程
multiprocessing
multiprocessing是python提供的一个跨平台的多进程模块,通过它可以很方便地编写多进程程序,在不同的平台(unix/linux,windows)都可以执行。 下面就是使用multiprocessing编写多进程程序的代码:
程序的输出:
某些情况下,我们希望批量创建多个子进程,或者给定子进程数的上限,避免无限地消耗系统的资源。通过pool(进程池)的方式,就可以完成这项工作,下面是使用pool的代码:
程序的输出:
close()方法和terminate()方法的区别:
close:关闭进程池,使之不能再添加新的进程。已经执行的进程会等待继续执行直到结束。
terminate:强制终止线程池,正在执行的进程也会被强制终止。
3.进程间通信
python的multiprocessing模块提供了多种进程间通信的方式,如queue、pipe等。
3.1queue、lock
queue是multiprocessing提供的一个模块,它的数据结构就是fifo——firstinfirstout的队列,常用的方法有:put(object)入队;visa158et()出队;empty()判断队列是否为空。
lock:当多个子进程对同一个queue执行写操作时,为了避免并发操作产生冲突,可以通过加锁的方式使得某个子进程对queue拥有唯一的写权限,其他子进程必须等待该锁释放后才能再开始执行写操作。
下面就是使用queue进行进程间通信的代码:在父进程里创建两个子进程,分别实现对queue的读和写操作
程序的输出结果为:
3.2
pipe pipe是另一种进程间通信的方式,俗称“管道”。它由两端组成,一端往管道里写入数据,另一端从管道里读取数据。
乌海分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录