2016-08-08 91 views
0

我有一個特殊的編程結構,允許線程一直等到另一個線程釋放所有等待的線程。 每個線程都可以註冊自己以等待可以由另一個線程觸發的外部事件(例如,偵聽用戶輸入的線程)。一旦發生該事件,所有線程都可以繼續並立即取消註冊。這種同步方法的名稱是什麼?

我的問題是:什麼是這樣的構造稱爲?

起初我想到互斥體,但據我所知,互斥體是一個只允許一個線程立即運行的構造(請參閱此鏈接https://www.quora.com/Semaphore-vs-mutex-vs-monitor-What-are-the-differences)。

對我來說這個構造聽起來像一個移相器java,但我的構造沒有計數邏輯,所以我想知道正確的措辭是什麼。

+0

他們是等待手柄。你應該指定語言。 –

+0

這是一種自定義的編程語言,在這裏沒人會知道。 – Adrodoc55

回答

0

相關的Java和C#類在其中有「屏障」一詞,所以這可能就是你想要的。

+0

根據[CyclicBarrier的javadoc](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html),屏障是一個構造,其中多達n個線程可以等待。一旦等待線程的數量達到配置的數量n,屏障就會中斷。這不是我所擁有的,因爲在我的情況下,必須明確地打破「障礙」。 – Adrodoc55