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()