Thread.Start()
.Net で (を呼び出して) マネージド スレッドを作成すると、バックグラウンドでネイティブ スレッドが 1 つだけ作成されるかどうかを知りたいですか? マネージ スレッドに対応するネイティブ スレッドはありますか? はいの場合、マネージド スレッドが待機またはスリープすると、対応するネイティブ スレッドも待機またはスリープすることになりますか?
質問する
1140 次
1 に答える
14
はい、.NET スレッドは、現在のすべての CLR ホストのネイティブ オペレーティング システム スレッドにマップされます。
ファイバーのようにICLRTaskManager インターフェイスを介してホスティング API の別のものにマップするオプションがありますが、それは実際にはどのメインストリーム ホストにも実装されていません。.NET 2.0 時代の SQL Server チームはこれを試みましたが、十分な信頼性が得られなかったため、プロジェクトは中止されました。これは再試行されませんでした。技術的には、アンマネージ プログラムによって開始された、このマッピングを実装したカスタム ホスト CLR に遭遇する可能性がありますが、可能性はかなり低くなります。
于 2013-10-20T11:15:15.403 に答える