标签:__ name print dic 互斥 mutex 进程 import 守护
1 from multiprocessing import Process 2 import time 3 def task(name): 4 print('%s 美女正在活着' % name) 5 time.sleep(3) 6 print('%s 美女正在活着' % name) 7 if __name__ == "__main__" 8 p = Process(target = task, args = ('Nami',)) 9 p.daemon = True 10 p.start() 11 print('jack寿终正寝')守护进程
1 from multiprocessing import Process, Lock 2 import json 3 import time 4 import random 5 6 7 #查票 8 def search(i): 9 #文件操作读取票数 10 with open('data','r',encoding='utf8') as f: 11 dic = json.load(f) 12 #模拟网络延迟 13 time.sleep(random.randint(1,3)) 14 #判断当前是否有票 15 if dic.get('ticket_num') > 0: 16 #修改数据库 买票 17 dic['ticket_num'] -= 1 18 #写入数据库 19 with open('data','w',encoding='utf8') as f: 20 json.dump(dic,f) 21 print('用户%s买票成功' % i) 22 else: 23 print('用户%s买票失败' % i) 24 25 #整合上面两个函数 26 def run(i, mutex): 27 search(i) 28 #给买票环节加锁处理 29 #抢锁 30 mutex.acquire() 31 32 buy(i) 33 #释放锁 34 mutex.release() 35 if __name__ == '__main__': 36 #在主进程生成一把锁 让所有的子进程 谁先抢到票谁先买 37 mutex = Lock() 38 for i in range(1,11): 39 p = Process(target=run, args=(i,mutex)) 40 p.start() 41互斥锁
标签:__,name,print,dic,互斥,mutex,进程,import,守护 来源: https://www.cnblogs.com/2722127842qq-123/p/13687472.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。