皆さん、こんにちは。
デスクトップ上のいくつかのファイルをスキャンし、それに対していくつかのアクションを実行するスレッドを作成しました。問題は、このスレッドのプロセスが一度だけ発生することです - ファイルのスキャンが完了したときです。
そのスレッドでの私の目的は、停止することなくいつでもディレクトリをスキャンすることですが、CPU 使用率のオーバーフローを引き起こすことはありません。このスキャンの停止を回避するスマートな方法を使用したいと考えています。
ファイルでのアクションは、そこにある必要がある特定のコンテンツがあるかどうかを確認することです。すべてのファイルでこのコンテンツをスキャンしています。
while
私は無限ループ スタイルを使用しようとしました:
public void bwScanning()
{
while(true)
{
// the whole code of scanning goes here.
}
}
しかし、そのループでシステム リソースをポンピングするため、リスクが高すぎます。
よりスマートなコードを作成する方法をいくつか考えました。
20 秒の遅延でタイマーによってスレッドを実行します。しかし、ファイルの量と、ディレクトリをスキャンするプロセスにかかる時間はわかりません..
おそらくいくつかのスレッドを作成します-最初のスレッドが終了したら、新しいスレッドを作成します。新規作成とメモリ使用量の関係で、このように使用するのは非常にばかげていると思います。
同じ問題に遭遇した何人かの人々が私にアドバイスできますか?