今日の最後の質問:)前回の質問に感謝します。 ところで:すでにこれについてのフォーラムを検索して、これには全く答えません。システムにまだ残っている作業でアプリケーションをシャットダウンする方法はありますか?スレッドプール
私たちは、スレッドプール上で動作するいくつかのサードパーティのライブラリを使用しており、未処理のアクティビティがある間はシャットダウンしたくありません。
アプリケーションをシャットダウンすると、System.Threading.ThreadPoolに未処理の作業があっても、これらのスレッドはバックグランドスレッドなので、アプリケーションは終了します。
何らかの形式の参照カウントを行う以外に(そして、このメカニズムを使用するためにプールにキューイングされるすべてのアイテムを強制しますが、これは制御できません)、優れた作業がある間にアプリケーションのシャットダウンを停止する方法があります行われなければ。
私はGetAvailableThreads()とGetMaxThreads()を比較しましたが、スレッドが解放されてキューに登録された作業項目が割り当てられていないため、スレッドプールを検出した可能性があります。
すべてのお役に立ちましたか?
種類よろしく ノエル
使用しているサードパーティライブラリの種類は不明ですが、そのライブラリがまだタスクを処理しているかどうかをチェックする関数を公開している可能性はありますか?または、クリーンな方法でシャットダウンする機能ですか? –
Bartozに感謝しますが、残念ながらそうではありません。 – Bigtoe