3

netty のチャネルのグループで発生するすべてのイベントを同期することは可能ですか? を使用してこれを達成しようとしましOrderedMemoryAwareThreadPoolExecutorたが、すべてのイベントがsynchronized. synchronizeチャネルのグループのすべてのイベントに対する方法を提案してください。

ありがとうございました

4

1 に答える 1

1

あなたが望むものはJavaの条件と呼ばれると思います。

で初期化

final Lock lock = new ReentrantLock();
final Condition cond  = lock.newCondition(); 

使用するすべての関数で、最初にロックをロックし、ロックを解除できることを確認する必要があります。

lock.lock();
try {
  // do you stuff...
} finally {
    lock.unlock();//interrupt or not, release lock
}     

あなたが待ちたいすべての場所であなたが呼ぶ

cond.await();

そして、続行する必要があるすべての条件が満たされたときに、あなたは電話をかけます

cond.signal();
于 2013-03-26T09:58:24.490 に答える