multiprocess: multiprocess.cpu_count():統計cpu核數 multiprocess.active_chirdren():獲取全部的子進程 multiprocess.current_process():獲取當前的子進程 multiprocess.Prpcess(target=function_name,args=()) multiprocess.Lock():多個進程須要訪問共享資源的時候,Lock能夠用來避免訪問的衝突 lock.acquire() lock.release() multiprocess.Semaphore(n):控制對共享資源的訪問數量,例如池的最大鏈接數 s.acquire() s.release() multiprocessing.Event():實現進程間同步通訊 e.set();設置標誌位 e.clear():清除標誌位 e.is_set():判斷是否設置標誌位 e.wait():阻塞當前子進程直到標誌位被設置 multiprocess.Queue() q.full():判斷隊列是否已滿 q.close():關閉隊列 q.empty():判斷隊列是否空 q.put(obj,block=True,timeout=None):插入隊列,block=False,則拋出Queue.full異常 block=True,阻塞timeout時間,直到有剩餘的空間,若是超時,則會拋出Queue.full異常 q.get(block=True,timeout=None): 取出隊列, block=False,則會拋出Queue.Empty異常 block=True,阻塞timeout時間,直到隊列有新對象插入,若是超時會拋出Queue.Empty異常Process: p.name:進程的名稱 p.is_alive():進程是否運行中 p.pid:返回進程的id p.start():啓動進程,自動調用run方法 p.daemon():守護進程,當p的父進程終止時,p也隨之終止 p.join():不設置timeout時程序會一直等待上面的進程執行完成後再執行join()後面的代碼