2016-04-27 3 views
0

に達しました。たCountDownLatch:カウントダウンにスレッド順序を維持し、彼らがカウントダウンに達したときに待つヒットとスレッドの順序を保持することが可能です

スレッド1呼び出しがスレッド2の前に待っていた場合、それらは同じ順序でreschudeledする必要があります。

これは意味をなしますか?:)

+0

関連するが異なる:http://stackoverflow.com/q/17093432/693752 – Snicolas

答えて

0

あなたはCountDownLatchにおける公正性のいくつかの並べ替えの話をしているように思えます。

フェアネスは本当に一般的なカウントダウンラッチの懸念(特にJavaで、そのjava.util.concurrent実装)ではありません。所定数のカウントダウンに達すると、ラッチはそれを待っていたすべてのスレッドに信号を送ります。

飢餓状態またはスケジューリング順序は、その時点でのラッチ機能とは正反対です。セマフォまたはミューテックスの場合のように、待機中のスレッドのセット/キューから制御された選択という概念はありません。

0

はディミタール・ディミトロフは、あなたがセマフォやミューテックスを持っていることとして

が...、待機中のスレッドのセット/キューから制御される選択の概念がない、と述べました。

セマフォやミューテックス上の単一の操作でしか待機しているスレッドを解放することができているからです。複数のスレッドが待機している場合は、最初の操作でこのスレッドが解放され、次の操作でそのスレッドが解放されるなど、スレッドが解放される順序を定義できます。

たCountDownLatchは、どのような意味それは理想的な動作は同じ瞬間に待機中のスレッドの全てを解放するために、単一の操作のためにあるときに順序を定義しようとする作るんので、違うのですか?

関連する問題