私は約6 つのバックグラウンド ワーカーとmssql クエリのキューを持つ1 つのスレッドでアプリを作成しています。非常に安定している必要があり、開発は終わりに近づいているため、アプリを約 4 時間実行する小さなテストを実行しました。スレッド ID を除いて、すべて問題ありませんでした。
すべての重要なイベントとエラーをスレッド ID と共にログに記録します。問題は、アプリの開始時には I*D 値が 5 から 15* の間でしたが、4 時間後にはほとんどのスレッドID 値が 70 から 90 の間になったことです。時々、それらは15、40 、またはそれより小さいものでした.
running out of free threads
私の質問は、これが " " エラーにつながる可能性があるかどうかです。なぜこれが起こっているのかわかりません。2 つのバックグラウンド ワーカーが無限ループ (値のチェック) を行い、他のワーカーは必要に応じて数回実行されます。スレッド用のある種の GC はありますか? ID の値が非常に大きいのはなぜですか?
テストの実行中、マシンで他に何もしませんでした。