我一直在阅读MSDN上的线程优先级,我创建了一个有两个线程的测试程序。其中一个线程打印出一些文本,然后休眠,而另一个线程运行一个无限循环,在那里它增加一些数字,并且没有睡眠。我将后一个线程设置为比前者更高的优先级,根据我正在阅读的内容,这应该意味着前一个线程没有获得任何CPU时间。
但它确实......
为什么会这样?
第一个线程使用:
创建HANDLE threadL = CreateThread(NULL, 0, threadLow, NULL, 0, &threadLiD);
,另一个线程只是我放置此命令的主线程:
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);