tcp/ipチャネルを介してファイルコンテンツを送信するコードがあります。この接続がハングし、アプリケーション全体がフリーズする場合があります。メインスレッドがワーカースレッドを生成し、そのワーカースレッドを監視する方法はありますか?ワーカースレッドが成功すれば、うまくいきます。ハングした場合、メインスレッドはエラーメッセージをログに記録して続行する可能性があります。テストコードで、ワーカースレッドがハングしていることをどのようにシミュレートできますか。コードがどのように見えるか教えてください。私はC#Visualstudio2002を使用しています。
1 に答える
3
確かにこれは可能です。
BackgroudWorker または Thread クラスを使用してスレッド化を手動で実装するか、(あなたの場合はさらに単純です) 非同期メソッドを使用してコンテンツを送信します。
すべてのネットワーク関連のクラスには、その操作のための非同期メソッドが含まれています。Async
またはBegin
...を含むメソッドを探します。
また、デッド スレッドのシミュレーションは簡単です。無限ループを作るだけです:
while (true)
System.Threading.Thread.Sleep (10);
于 2010-06-02T16:36:26.707 に答える