如何在Netty中同步一组频道的事件?

时间:2013-03-26 09:18:13

标签: java netty

是否可以同步netty中一组频道发生的所有事件。我尝试使用OrderedMemoryAwareThreadPoolExecutor实现此目的,但并非所有事件都是synchronized。您能否为synchronize一组频道的所有活动建议任何方法。

谢谢

1 个答案:

答案 0 :(得分: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();