大家好,
我创建了一个线程来扫描桌面上的一些文件并使用它执行一些操作。问题是这个线程的进程只发生一次 - 当文件扫描完成时。
我使用该线程的目的是随时扫描目录而不会停止但不会造成 CPU 使用溢出。我想使用一种聪明的方法来防止停止此扫描。
文件的操作是检查是否需要存在特定内容,我正在扫描所有文件中的此内容。
我尝试使用while
无限循环样式:
public void bwScanning()
{
while(true)
{
// the whole code of scanning goes here.
}
}
但这太冒险了,因为该循环会抽取系统资源。
我想到了一些如何创建更智能的代码的事情:
通过计时器运行一个线程,延迟为 20 秒。但是,我不知道文件的数量是多少以及完成扫描目录的过程需要多少时间..
也许创建线程数 - 在第一个线程完成后,创建一个新线程。我认为由于新的创建和内存使用情况,使用这种方式非常荒谬。
有遇到同样问题的朋友可以指教一下吗?