请问一下,反病毒软件的扫描引擎是怎么进行多线程扫描的

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

可以监视文件目录,按文件目录进行处理,用一个Event注册到系统中(ReadDirectoryChangesW),当文件目录中有文件或子目录发生改变时就会有消息通知上来。


我不需要监控,杀软的文件监控也不是这样做的,都是文件过滤驱动做的,回调效率太低。

我要的是高效扫描问价你的算法

常规的应该都是多个线程,一个或多个线程遍历文件,目录等,放入队列,其他线程从队列中取文件,然后扫描等