我在去块算法上使用了多线程。没有线程,它运行 30 毫秒。有 40 个线程,它运行 40 毫秒左右。但是,根据我的观察,WaitForSingleObject 中使用了 40ms 中的 20ms。
我想知道,WaitForSingleObject 是否有任何解决方法。
编辑:我的问题包括两个循环。第二个依赖第一个的结果。我为每个循环使用四个线程。每个线程运行该循环内容的四分之一。
在开始第二个循环的下 4 个线程之前,我需要等待第一个循环的四个线程完成。
但我觉得 WaitForSingleObject 需要太多时间。最慢的线程只需要 1 到 2 毫秒。但在我的录音中,WaitFor singleObject 采取了一些相同的方式。
没有线程,它的速度几乎相同,有时甚至更慢。所以,就我而言,线程确实有助于加速,但是 WaitForSingleObject 占用了所有节省的时间,并使程序像一个线程一样慢。