请问一下,反病毒软件的扫描引擎是怎么进行多线程扫描的
请教一下,反病毒软件的扫描引擎是如何进行多线程扫描的?
不会是,遇到一个文件夹就开一个线程吧?
有什么高效的方法处理?
------解决思路----------------------
开一个主线程和若干个工作线程,用一个队列储存等待扫描的文件路径或句柄,主线程遍历目录结构,将文件添加到队列中,工作线程从队列中移出文件执行扫描。操作队列需要加锁避免线程冲突。
------解决思路----------------------
常规的应该都是多个线程,一个或多个线程遍历文件,目录等,放入队列,其他线程从队列中取文件,然后扫描等
不会是,遇到一个文件夹就开一个线程吧?
有什么高效的方法处理?
------解决思路----------------------
开一个主线程和若干个工作线程,用一个队列储存等待扫描的文件路径或句柄,主线程遍历目录结构,将文件添加到队列中,工作线程从队列中移出文件执行扫描。操作队列需要加锁避免线程冲突。
------解决思路----------------------
常规的应该都是多个线程,一个或多个线程遍历文件,目录等,放入队列,其他线程从队列中取文件,然后扫描等