0

Netty を使用したいくつかの実験では、すべての I/O スレッドが完了する前にメイン スレッドが終了しました。これを防ぐために CountDownLatch を使用しています。これは正しいアプローチですか?これを回避するための標準的なアプローチはありますか?

4

2 に答える 2

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();
    }
}
于 2013-01-18T03:09:56.800 に答える
0

カウントダウンラッチは良いアプローチだと思います。しかし、それを標準と呼ぶかどうかはわかりません。一般に、シャットダウンは難しい問題です。私が取り組んできたほとんどのアプリは、さまざまなコンポーネントをシャットダウンするためにさまざまなアプローチのグラブバッグを使用してきました。

于 2013-01-14T15:45:42.207 に答える