多進程
進程的實現(xiàn):
1、需要繼承multiprocessing模塊中Process類
2胀瞪、重寫run方法针余,run方法就是我們要執(zhí)行進程代碼
1饲鄙、多任務的實現(xiàn):
1、什么是多任務:
IT系統(tǒng)圆雁,同時完成多項任務處理忍级,這個同時指的是同一段時間內,而不是同一瞬時伪朽。
多任務處理是指用戶可以在同一時間內運行多個應用程序,每個應用程序被稱作一個任務.Linux轴咱、windows就是支持多任務的操作系統(tǒng),比起單任務系統(tǒng)它的功能增強了許多。
當多任務操作系統(tǒng)使用某種任務調度策略允許兩個或更多進程并發(fā)共享一個處理器時烈涮,事實上處理器在某一時刻只會給一件任務提供服務朴肺。因為任務調度機制保證不同任務之間的切換速度十分迅速,因此給人多個任務同時運行的錯覺坚洽。多任務系統(tǒng)中有3個功能單位:任務戈稿、進程和線程。
2讶舰、多進程:
3鞍盗、什么是進程?
4跳昼、python實現(xiàn)進程os
os.fork()
os.getpid()
os.getppid()
5般甲、多任務的實現(xiàn)
多任務的實現(xiàn)有三種方式:
1、多進程模式
2鹅颊、多線程模式
3敷存、多進程+多線程模式
2、操作系統(tǒng)是典型的多任務的實現(xiàn):
1挪略、時間片輪換機制
2历帚、優(yōu)先級別調度
3、操作系統(tǒng)多任務
1杠娱、多進程
2挽牢、多線程
4、進程(process):
1摊求、進程(process)是計算機中的程序關于某數(shù)據(jù)集合上的一次運行活動禽拔,是系統(tǒng)進行資源分配和調度的基本單位
processID進程編號
5、進程的數(shù)據(jù)的共享問題
6室叉、主進程和子進程的指向順序問題
7睹栖、多個fork問題
8、multiprocessing模塊的使用
在多進程中茧痕,全局變量是獨自占有一份的野来。進程之間是無法共享數(shù)據(jù)的,多個進程間踪旷,每個進程的所有數(shù)據(jù)(包括全局變量)都是各自擁有一份的曼氛,互不影響豁辉。
無法跨平臺 os.fork()只在Linux, windows
multiprocessing python為大家提供一個跨平臺的多進程實現(xiàn)模塊
os
os.path
進程池:pool
apply_async()
apply()
本地進程間的通信問題:
隊列
管道
管理器
隊列:
queue.get()
queue.put()
queue.qsize()
queue.get_nowait()
queue.put_nowait()
queue.full()
queue.empty()
queue.maxsize()i