私のc#Windowsサービスでは、いくつかのスレッドを開始しています。各スレッドは、アクティビティがない特定の期間の後にオブジェクトを破棄する必要があります。
System.Threading.TimerクラスとSystem.Timers.Timerクラスを試しましたが、これらはすべて別のスレッドでイベントを発生させます。
これが幸せなことです:
- service.start中にいくつかのスレッドを作成します
- 各スレッドはディレクトリを監視し、新しいファイルごとにリソース拡張機能をアクティブにします
- スレッド内で1時間アクティビティがない(その期間中にファイルが処理されない)後、そのスレッド内のリソース(構造マップ、スレッドローカルクラス)をクリーンアップしたい