0

X分ごとに同じ操作を実行するWindowsサービスを作成する必要があります。メモリ管理(GCのクリーンアップなど)に関して、これを達成するための最良の方法は何ですか?

1)while(true)ループ。操作がX分ごとにのみ発生するようにする独自のロジックを使用します。ただし、これによりGCのクリーンアップがブロックされるのではないかと心配しています。

2)タイマー。操作にタイマー間隔よりも時間がかかる場合は、同時に2回実行を開始するようにするためのロジックがあります(1よりも複雑です)。

3)他の提案?

4

1 に答える 1

1

(1) と (2) の両方で、GC について心配する必要はありません。

(1)自分のロジックがビジー ループ (理由もなく CPU を使用する) にならなければ問題ありません。そのロジックを実装する最も簡単な方法はSleep、X 分間実行することです。

(2) は、タスクを定期的に開始することが重要な場合に適しています。たとえば、15 分の間隔で 0:00 に開始する場合、次のタスクは 0:15 に開始し、次のタスクは 0:30 に開始する必要があります。 、タスクの実行中に経過した時間を「割り引く」のではありません。

于 2013-01-31T11:01:18.293 に答える