計算機科學中, 同步(synchronization)是指兩個不同但有聯繫的概念:進程同步與數據同步。進程同步指多個進程在特定點會合(join up)或者握手使得達成協議或者使得操作序列有序。數據同步指一個數據集的多份拷貝一致以維護完整性。常用進程同步原語實現數據同步。

線程或進程同步

Thumb
Figure 1: 3個進程同時訪問共享資源(臨界區)

多個線程(或進程)要執行同一個特定的不可重入的程序代碼塊(稱為臨界區),這就需要適當的並發控制同步技術[1]。否則,可能會發生競態條件


Thumb
Figure 2: 一個進程訪問共享資源基於某種同步技術。[2]

另一種同步要求產生於特定的操作順序,如應該先買機票然後登機。[3]

同步還需處理:

經典同步問題


參見

參考文獻

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.