1. 程式人生 > >跟著駱大神瞭解程序執行緒

跟著駱大神瞭解程序執行緒

IPC:inter-Process Communication  程序間通訊機制,用來實現資料共享。主要方式有:管道、訊號、緩衝池、套接字、共享記憶體          區等。

程序:作業系統執行過程中的一個程式,每個程序都有自己的地址空間、資料棧及其他部分輔助資料,作業系統會為他們分配資                 源。

          建立:fork 和spawn.

執行緒:擁有多個併發的執行線索。在同一個程序下,可以共享相同的資源,主要分為單執行緒和多執行緒,使用多執行緒實現併發變成可以提升程式的效能和改善使用者體驗,不足則是它佔用的CPU執行時間長,可能會導致其他程式無法獲得足夠的CPU執行時間。就開發者而言,也要求頗高,開發難度略高。

多程序:利用fork()建立程序(返回2次),呼叫fork()函式的是父程序(返回子程序),創建出的子程序(返回永遠為0)是父程序的一個拷貝,但其擁有自己的PID。

使用:windows系統中,跨平臺實現:

from multiprocessing import Process

此模組中還有很多會用到的封裝,如pool(程序池)Queue(程序間通訊de的佇列)Pipe(管道)等。

多執行緒:同時可執行多個執行緒,不用等待(即共享程序的記憶體空間),可設定全域性變數。

缺點:當多個執行緒共享一個資源的時候,程式可能會崩,自己的理解是狼多肉少,這時這種肉就是臨界資源,為保護這種資源,我們可以開一個守護執行緒。