別のバックグラウンドスレッドを実行するWindowsサービスがあります。スレッド内で、TcpListenerを使用してクライアントをリッスンするTCPサーバーを起動します。
次のようなブロッキング読み取りがある場合に、サービスを正常に終了する方法を知りたいです。
listener.AcceptTcpClient();
Windowsサービスは、バックグラウンドスレッドとして設定されている限り、他のスレッドを中止できるようですが、スレッドの1つがブロックされている場合はどうなりますか?これは違いを生みますか?もしそうなら、この状況に対処するための最良の方法は何ですか?