TSimpleServer を使用してリサイクル サーバーをセットアップする方法について、基本的な理解を深めようとしています。主に発進・停止について。
私は TSimpleServer を使用しています。これは、主にデバッグ用の単純なシングルスレッド サーバーであると理解しています。ここでの私の差し迫った質問は、ここでシングルスレッドが意味することは次のとおりです。
a.) TSimpleServer を呼び出すと、一度に 1 つのクライアント接続しか処理できない単一のスレッドが生成されますが、同時に、.serve を呼び出すメイン プログラムに実行が返されて続行されますか?
または b.) TSimpleServer.serve() の呼び出しは、サーバーが停止するまでブロックします。
b.) の場合、サーバーを停止するメカニズムは何ですか? 私が調査したことのほとんどは、別のスレッドからサーバーを停止し、それを開始したスレッドがクラッシュを引き起こすことを示唆しています。(参照: Thrift サーバーの停止(TSimpleServer) )。それは私に a.) 上記の正しい答えであることを意味します。それ以外の場合、どこかに循環ロジックがありますか?
編集:私はそれが実際にbであると自分自身を納得させることができました. しかし、上記の投稿を考えると、それを開始するために新しいスレッドを生成し、そのスレッドがブロックされたとしても、どうすればそれを停止できますか? 別のスレッドを使用することは、上記の参照投稿からの回答ではないようです