首页 > 其他 > 详细

并发编程-互斥锁

时间:2019-02-20 10:47:00      阅读:163      评论:0      收藏:0      [点我收藏+]

进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,

而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理 Lock

#互斥锁:在主进程有一个锁,子进程也要复制一个锁。使得程序更顺序,不会错乱,但是运行效率有降低。

from multiprocessing import Process,Lock  # Lock 是导入锁模块
import time

def task(name,mutex):
    mutex.acquire()  # 抢锁
    print(%s 1%name)
    time.sleep(1)
    print(%s 2%name)
    time.sleep(1)
    print(%s 3%name)
    mutex.release()  # 释放锁

if __name__ == __main__:
    mutex=Lock()  # 调用锁
    for i in range(3):
        p=Process(target=task,args=(进程%s %i,mutex))
        p.start()

 

并发编程-互斥锁

原文:https://www.cnblogs.com/hexiaorui123/p/10404583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!