【发布时间】:2014-03-25 22:31:36
【问题描述】:
我想编写一个程序,其中几个工作线程应该处理具有不同优先级的不同任务。大任务将以低优先级处理,小任务以非常高的优先级处理。
在一个完美的世界中,我会简单地为每种任务设置不同的优先级,但由于它比 Windows 上可用的优先级级别更多的任务类型,我认为我必须动态设置线程优先级。
我认为应该有一个具有最高优先级的主线程,作为一种调度程序来动态设置工作线程的优先级。但我想知道当我调用 SetThreadPriority() 时在 Windows 上实际发生了什么,尤其是操作系统考虑到优先级更改的速度有多快。
理想情况下,我需要在
【问题讨论】:
-
显然我对多线程和调度不是很了解。我知道基本概念(循环、基本优先级、优先级等),但我很想更深入地了解“什么时候发生”以及调度程序和优先级更改的时间。我很高兴任何提示!
标签: c++ windows multithreading thread-priority