小编给大家分享一下python中多进程并行的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
代码:
from multiprocessing import Process
import sys, os
import time
def 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 Process
import sys, os
import time
from threading import Lock
def 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)
看完了这篇文章,相信你对“python中多进程并行的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。