python 程序基礎
阿新 • • 發佈:2018-12-11
1.cpu執行程式碼都是順序的,單核cpu執行多工實際上是快速轉切的過程,所以看起來像是多工同步。真正執行多工只能多核上。
2.一件任務可以看成一個程序(Process),一個大任務下分為許多小步驟,可以看成執行緒(Thread)。一個程序至少包含一個執行緒。
3.多工執行的幾種方法:多執行緒、多程序、多執行緒+多程序
4.多程序例項理解(windows下):
os.getpid() 獲得當前程序ID
Process(target= 目標函式 , args = (函式的引數)) 建立一個程序
p.start() 程序開始
p.join() 只有當前程序結束後才能執行下一程序(開多個程序的時候可以調整順序)
5.要開很多程序,那麼建立和銷燬程序會花費很多時間,可以用程序池進行管理來節約時間,例子:
Pool(4) 程序池裡面限制四個程序同時進行
迴圈5次將所有程序先新增到程序池裡面
p.apply_async(目標函式, args=(函式的引數)) 這樣新增程序到程序池裡
p.close() 全部新增後關閉程序池,不讓新增其他程序了
p.join() 等待所有新增的程序執行結束,防止主程序在此之前結束
6.預設cpu幾核就幾程序,如果你cpu是8核的,要新增大於8個程序才能看到等待
文章參考:廖雪峰python教程