我目前正在使用 WinAPI,并且已经开始使用线程。我的程序有 n
个相互协作的线程。有一个 main 线程,它将一些数据写入特定的内存位置,并等待直到使用特定内存位置的线程处理数据。然后整个过程再次重复,没有终止任何线程。
我的问题是忙于等待第二个线程浪费了太多时间。 有没有办法暂停当前线程(为其他线程留出时间)或以不同方式解决这个问题?
请帮忙。
最佳答案
我猜您当前正在轮询/忙于在主线程中等待,不断检查工作线程将设置的某些完成标志的状态。正如您所注意到的,这是不可取的,因为您只是在等待工作人员完成时使用了一定比例的 cpu 带宽。在某些情况下,这会减少您的工作人员安排的时间,从而延迟其完成。
关于c++ - 继续执行另一个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693954/