标签:view 开启 处理 ide sleep com 查询 资源分配 process
i input 输入 相对内存 进入内存 # read # recv # input # load o output 输出 相对内存 从内存出去 # write # send # dump
# 同步阻塞 # 一件事儿一件事儿的做 # 中间还要被阻塞 # 同步非阻塞 : 费力不讨好 # 一件事儿一件事儿的做 # 但是不阻塞 # 异步阻塞 # 同时进行的 # 每一件事儿都会遇到阻塞事件 # 异步非阻塞 # 几个事情同时进行 # 每一件事都不阻塞
import os from multiprocessing import Process def son_process(): 代码快 print("执行我了") if __name__ == ‘__main__‘: p = Process(targe = son_process) p.start()
# lst = [] # for i in range(n): # p = Process() # lst.append(p) # p.start() # for p in lst: # p.join() # p.terminate()
import os from multiprocessing import Process class Myprocess(Process): def __init__(self,参数): super().__init__() self.一个属性 = 参数 def run(self): print(子进程中要执行的代码) if __name__ == ‘__main__‘: conn = "一个链接" mp = Myprocess(conn) mp.start()
import json import time from multiprocessing import Process,Lock def search(name): ‘‘‘查询余票的功能‘‘‘ with open(‘ticket‘) as f: dic = json.load(f) print(name , dic[‘count‘]) def buy(name): with open(‘ticket‘) as f: dic = json.load(f) time.sleep(0.1) if dic[‘count‘] > 0: print(name,‘买到票了‘) dic[‘count‘] -=1 time.sleep(0.1) with open(‘ticket‘,‘w‘) as f: json.dump(dic,f) def get_ticket(name,lock): search(name) lock.acquire() # 只有第一个到达的进程才能获取锁,剩下的其他人都需要在这里阻塞 buy(name) lock.release() # 有一个人还锁,会有一个人再结束阻塞拿到钥匙 if __name__ == ‘__main__‘: lock = Lock() for i in range(10): p = Process(target=get_ticket,args=(‘name%s‘%i,lock)) p.start()
标签:view 开启 处理 ide sleep com 查询 资源分配 process
原文地址:https://www.cnblogs.com/xinjie123/p/10092442.html