我想降低为 parallel_for_each 服务的线程的线程优先级,因为在负载较重的情况下,相对于我系统中的其他线程,它们消耗过多的处理器时间。
问题:
1) parallel_for_each 的服务线程是否继承调用线程的线程优先级?在这种情况下,我大概可以在 parallel_for_each 之前和之后调用 SetThreadPriority,一切都应该没问题。
2) 或者是否建议在parallel_for_each 中调用SetThreadPriority?这显然会为同一个线程多次调用 API。这样做有很大的开销吗?
2.b)假设我这样做,它会在下次调用parallel_for_each 时影响线程优先级 - 即我是否需要在之后以某种方式重置每个线程的优先级?
3)我想知道一般的线程优先级。有人想评论一下吗:假设我有 2 个线程争夺一个处理器,一个设置为“低于正常”,而另一个设置为“正常”优先级。与另一个线程相比,一个线程的处理器时间大约多出百分之几?