python-day33--互斥锁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day33--互斥锁相关的知识,希望对你有一定的参考价值。

锁的意思就是:一个一个的执行
技术分享
 1 from multiprocessing import Process,Lock
 2 import os
 3 import time
 4 def work(mutex):
 5     mutex.acquire()
 6     print(task[%s] 上厕所 %os.getpid())
 7     time.sleep(3)
 8     print(task[%s] 上完厕所 %os.getpid())
 9     mutex.release()
10 
11 if __name__ == __main__:
12     mutex=Lock()
13     p1=Process(target=work,args=(mutex,))
14     p2=Process(target=work,args=(mutex,))
15     p3=Process(target=work,args=(mutex,))
16     p1.start()
17     p2.start()
18     p3.start()
19 
20     print()
互斥锁
技术分享
 1 from multiprocessing import Process,Lock
 2 import json
 3 import time
 4 import random
 5 import os
 6 def search():
 7     dic=json.load(open(a,))
 8     print(剩余票数%s %dic[count])
 9 
10 def get_ticket():
11     dic=json.load(open(a,))
12     if dic[count] > 0:
13         dic[count]-=1
14         json.dump(dic,open(a,w))
15         print(%s 购票成功 %os.getpid())
16 def task(mutex):
17     search()
18     time.sleep(random.randint(1, 3)) #模拟购票一系列繁琐的过程所花费的时间
19     mutex.acquire()
20     get_ticket()
21     mutex.release()
22 if __name__ == __main__:
23     mutex=Lock()
24     for i in range(50):
25         p=Process(target=task,args=(mutex,))
26         p.start()
模拟抢票

 

以上是关于python-day33--互斥锁的主要内容,如果未能解决你的问题,请参考以下文章

LockSupport.java 中的 FIFO 互斥代码片段

互斥锁 & 共享锁

互斥锁自旋锁读写锁和条件变量

ReentrantReadWriteLock场景应用

简单的定制互斥锁失败

java中ReentrantReadWriteLock读写锁的使用