2013-03-26 48 views
3

是否有可能在netty中同步一組通道的所有事件。我嘗試使用OrderedMemoryAwareThreadPoolExecutor來實現此目的,但並非所有事件都是​​。您能否建議任何方法synchronize一組渠道的所有活動。如何在Netty中同步一組通道的事件?

謝謝

+0

同步事件是什麼意思?你能提供更多的細節嗎? – 2013-03-26 09:21:52

+0

@Norman Maurer在這裏同步我的意思是我需要處理一個事件,只有在完成處理之前在一組通道中發生的其他事件之後。 – user2067201 2013-03-26 09:30:12

回答

1

我相信你想被稱爲Java中的一個Condition什麼。

初始化

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();