主线程在工人之前退出

时间:2013-01-14 15:37:38

标签: netty

在我使用Netty的一些实验中,主线程在所有I / O线程完成之前退出。我一直在使用CountDownLatch来防止这种情况发生。这是正确的方法吗?有没有一种标准方法来避免这种情况?

2 个答案:

答案 0 :(得分:0)

我会说倒计时锁存器是一种很好的方法。但我不知道我是否称之为标准。一般来说,关闭是一个难题。我工作过的大多数应用程序都使用了不同方法的抓包来关闭各种组件。

答案 1 :(得分:0)

您可以等到您创建的频道关闭。例如:

public static void main(St ring[] args) throws Exception {
    ChannelFactory f = ...;
    try {
        ...
        Channel ch = bootstrap.connect().sync();
        ch.getCloseFuture().sync(); // Wait until the channel is closed.
    } finally {
        f.releaseExternalResources();
    }
}