協作程序
協作程序是指可以影響或被系統上執行的其他程序影響的程序。協作程序可以彼此共享資料。
需要協作程序的原因
需要協作程序可能有很多原因。其中一些如下所示:
- 模組化
模組化涉及將複雜的任務分解成較小的子任務。這些子任務可以由不同的協作程序完成。這導致更快、更有效地完成所需的任務。
- 資訊共享
多個程序之間可以利用協作程序共享資訊。這可能包括訪問相同的檔案。需要一種機制,以便程序可以彼此並行訪問檔案。
- 便利性
使用者需要執行許多工,例如編譯、列印、編輯等。如果這些任務可以由協作程序管理,則會很方便。
- 計算加速
單個任務的子任務可以使用協作程序並行執行。這會提高計算速度,因為任務可以更快地執行。但是,這隻有在系統具有多個處理單元時才有可能。
合作方法
協作程序可以使用共享資料或訊息相互協調。這些內容的詳細資訊如下:
- 透過共享進行合作
協作程序可以使用共享資料(例如記憶體、變數、檔案、資料庫等)相互協作。臨界區用於提供資料完整性,寫入是互斥的,以防止資料不一致。
演示透過共享進行合作的圖表如下:
在上圖中,程序 P1 和 P2 可以使用共享資料(例如記憶體、變數、檔案、資料庫等)相互協作。
- 透過通訊進行合作
協作程序可以使用訊息相互協作。如果每個程序都在等待來自另一個程序的訊息以執行操作,則這可能導致死鎖。如果一個程序永遠不會收到訊息,也可能發生飢餓。
演示透過通訊進行合作的圖表如下:
在上圖中,程序 P1 和 P2 可以使用訊息相互通訊以進行協作。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP