3

ace でリアクタ イベント ループを終了する 2 つの方法を見つけました。

1. ACE_Reactor::instance()->end_reactor_event_loop();
2. ACE_Reactor::instance()->close()

それらの違いは何ですか?どちらを使用する必要がありますか?

4

1 に答える 1

3

何をしたいかによって異なります:

このドキュメントを見てください

基本的に、2つの違いは次のとおりです。

end_reactor_event_loopリアクターによるメッセージの処理を停止しますが、リソースを解放せず、既にキューにあるメッセージをドロップしません。

close一方、上記を実行して の実装に関連付けられたすべてのリソースを解放しACE_Reactor::intance()、その結果、リアクタに関連付けられたすべてのソケットとハンドラを削除するメッセージをドロップします。

したがって、あなたが何をしているかに応じて、詳細を提供する必要があることを超えて、どちらかを選択できます。

于 2012-01-04T21:39:06.843 に答える