python学习笔记(55) 守护进程和进程锁

p.deamon = Ture  # 在start之前

守护进程会随着主进程的代码执行完毕(不是结束,有可能等别的子进程)而结束

p.is_alive()

p.terminate()  # 发出结束请求的瞬间不会立即结束

p.name

p.pid

###########################################

import time
import json
from multiprocessing import Process,Lock

def buy(i,lock):
lock.acquire()
with open('ticket') as f:
dic = json.load(f)
time.sleep(0.1)
if dic['ticket']:
dic['ticket'] -= 1
print('%s买到票了'%i)
else:
print('%s没有票了'%i)
time.sleep(0.1)
with open('ticket','w') as f:
json.dump(dic,f)
lock.release()


if __name__ == '__main__':
lock = Lock()
for i in range(5):
p = Process(target=buy,args=(i,lock))
p.start()

猜你喜欢

转载自www.cnblogs.com/farion/p/10003597.html