VS2008ヘルプファイルを読む私はスレッドを(.netで)終了するきれいな方法は、return文(C#で)を使うか、スレッドがメソッドの最後に到達するかのいずれかであることを理解しました。C#および.netのExitThread(ExitCode)およびGetExitCodeThreadに相当するものは何ですか?
しかし、私はスレッドの終了コードやWin32 APIを使用して取得したものを取得する方法を設定できるメソッドやプロパティが見つかりませんでした。したがって、質問は、私はC#と.netを使ってこれをどうやってやるのでしょうか?
ありがとう、
ジョン
nitzmahone、返信とリンクをありがとうございます。管理スレッドとO/Sスレッドの間に1対1の対応がないことを考えれば、Pinvoking ExitThreadとGetExitCodeThreadは信頼できる解決策ではないと私は思う。私はそれを設定し、取得する適切なメソッドと一緒に終了コードを追加するスレッドから新しいスレッドクラスを派生することを検討しています。スレッドが終了した後に終了コードの取得が行われるため、終了コードが取得される前にGCによってスレッドオブジェクトが破棄されている可能性があります。それが起こらないことを保証する方法はありますか? – Hex440bx
良い結果が得られるかどうか疑問です。スレッドは封印されており、正当な理由があります。 Win32終了コード・メカニズムを使用しないものを構築することを検討している場合は、論理スレッド・ステータス(前述のTPLなど)を追跡するために既に存在する上位レベルの構成を使用してください。あるいは、管理されたスレッドIDと「終了コード」の静的な辞書と同じように簡単な操作を行うことができます。あなたのプロジェクトの詳細をすべて知っているわけではありませんが、あなたの人生をもっと難しくしようとしているように思えます。 – nitzmahone
本当の問題は、私はちょうど.netとC#を学んでいることです。私はプレーンなWindows APIに精通しています。その結果、私はWinAPIを使って知っていることを.netとC#で同じようにマッチさせようとしています。明らかに、この方法には「問題」がありますが、通常はうまくいきます。この場合、ネットのやり方を理解するためにもっと知る必要があるように思えます。ご協力いただきありがとうございます。ジョン – Hex440bx