Python—同步和互斥

余生长醉 提交于 2020-03-07 11:42:56
from multiprocessing import Event,Process
      from time import sleep
      def wait_event():
          print("process1也想操作临界区,但是要阻塞等待主进程")
          e.wait()
          print("主进程操作完了,到我了",e.is_set())#True
      def wait_event_timeout():
          print("process2也想操作临界区,但是要阻塞等待主进程")
          e.wait(2)
          # e.wait()
          print("我不等了",e.is_set())#false
      e = Event()
      p1 = Process(name = "block",target = wait_event)
      p2 = Process(name = "non-block",target = wait_event_timeout)
      p1.start()
      p2.start()
      print("假设正在忙碌的操作临界资源")
      sleep(3)
      e.set()
      print("主进程操作完了,开放临界区")
      p1.join()
      p2.join()

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!