動變: 過去式:semaphored 過去分詞:semaphored 現在進行時:semaphoring
semaphore
KK:[ˈsɛmǝfor] DJ:[ˈsеmǝfɒː]
號誌(英語:semaphore)又稱為旗號,是一個同步物件,用於保持在0至指定最大值之間的一個計數值。當執行緒完成一次對該semaphore物件的等待(wait)時,該計數值減一;當執行緒完成一次對semaphore物件的釋放(release)時,計數值加一。當計數值為0,則執行緒等待該semaphore物件不再能成功直至該semaphore物件變成signaled狀態。semaphore物件的計數值大於0,為signaled狀態;計數值等於0,為nonsignaled狀態。
號誌的概念是由荷蘭電腦科學家艾茲赫爾·戴克斯特拉(Edsger W. Dijkstra)發明的,廣泛的應用於不同的作業系統中。在系統中,給予每一個行程一個號誌,代表每個行程目前的狀態,未得到控制權的行程會在特定地方被強迫停下來,等待可以繼續進行的訊號到來。如果號誌是一個任意的整數,通常被稱為計數號誌(Counting semaphore),或一般號誌(general semaphore);如果號誌只有二進位的0或1,稱為二進位號誌(binary semaphore)。