計算機科學中, 同步(synchronization)是指兩個不同但有聯繫的概念:進程同步與數據同步。進程同步指多個進程在特定點會合(join up)或者握手使得達成協議或者使得操作序列有序。數據同步指一個數據集的多份拷貝一致以維護完整性。常用進程同步原語實現數據同步。
線程或進程同步
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Multiple_Processes_Accessing_the_shared_resource.png/320px-Multiple_Processes_Accessing_the_shared_resource.png)
多個線程(或進程)要執行同一個特定的不可重入的程序代碼塊(稱為臨界區),這就需要適當的並發控制同步技術[1]。否則,可能會發生競態條件。
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Shared_Resource_access_in_synchronization_environment.png/320px-Shared_Resource_access_in_synchronization_environment.png)
另一種同步要求產生於特定的操作順序,如應該先買機票然後登機。[3]
同步還需處理:
參見
- Future與promise, 純函數式編程中的同步機制
參考文獻
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.