时间:2021-05-22
这篇文章主要介绍了python多进程并行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码:
from multiprocessing import Processimport sys, osimport timedef timetask(string): while True: print(string)def works(func, arg, worknum): proc_record = [] for i in range(worknum): p = Process(target = func, args = (i,)) p.start() proc_record.append(p) for p in proc_record: p.join()if __name__ == '__main__': arg = 5 procs = 4 works(timetask, arg, procs)效果图【未加锁,会发现数字1没出现,进程间资源抢夺导致】:
优化之后效果:
代码:
from multiprocessing import Processimport sys, osimport timefrom threading import Lockdef timetask(string): mutex.acquire() while True: print(string) if mutex.locked(): mutex.release()mutex = Lock()def works(func, arg, worknum): proc_record = [] for i in range(worknum): p = Process(target = func, args = (i,)) p.start() proc_record.append(p) for p in proc_record: p.join()if __name__ == '__main__': arg = 5 procs = 4 works(timetask, arg, procs)以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。多进程编程在python中有类似C的os.fork,当然还有更高层封装的multip
本文实例讲述了python开启多个子进程并行运行的方法。分享给大家供大家参考。具体如下:这个python代码创建了多个process子进程,创建完成后先star
本文实例为大家分享了python多进程共享变量的相关代码,供大家参考,具体内容如下frommultiprocessingimportProcess,Manage
python的multiprocessing包是标准库提供的多进程并行计算包,提供了和threading(多线程)相似的API函数,但是相比于threading
本文实例讲述了python进程池实现的多进程文件夹copy器。分享给大家供大家参考,具体如下:应用:文件夹copy器(多进程版)importmultiproce