Python多进程间同步互斥方法lock

 时间:2024-10-14 02:30:31

1、from multiprocessing import Lock创建 进程锁对象lock = Lock()相关方法:lock.acquire() 给临界区上锁lock.release() 给临界区解锁说明:具体实现上 acquire() 为一个条件阻塞函数,当有任意一个进程先进行了acquire操作后,其他进程再企图进行acquire操作时就会阻塞,直到lock对象被 release 后其他进程才可进行下次acquire操作

2、具体示例:from multiprocessing import Process,Lockimport time荑樊综鲶,sysdef worker1(stream): lock.acquire() # 加锁 for i in range(5): time.sleep(1) stream.write("Lock acquired via\n") lock.release()#解锁def worker2(stream): # lock.acquire() with lock: #加锁 语句块结束即解锁 for i in range(5): time.sleep(1) stream.write("Lock acquired directly\n") # lock.release()lock = Lock()#sys.stdout为所有进程都拥有的资源w1 = Process(target=worker1,args=(sys.stdout,))w2 = Process(target=worker2,args=(sys.stdout,))w1.start()w2.start()w1.join()w2.join()

  • deepin linux如何快速使用samba服务共享文件
  • linuxmint kde桌面环境鼠标怎么改为双击
  • 工控交换机和工业交换机的区别
  • C# 如何设置打印机属性
  • 热门搜索
    三四年级中秋节手抄报 初一历史手抄报 安全出行手抄报内容 快乐五一英语手抄报 中秋佳节手抄报 有关弟子规的手抄报 安全知识手抄报资料 诚实守信手抄报图片 好读书读好书手抄报 关于健康的手抄报内容