2013-10-26 21 views

回答

2

据我所知,boost并没有提供一个API来执行它(C++ 11标准肯定没有)。

在Linux上,您可以将nicesetpriority各自独立于其他线程。但是请注意,这是不POSIX,符合的:

根据POSIX,漂亮的值是每个进程设置。但是,在当前的POSIX线程的Linux/NPTL实现下,nice值是per-thread属性:同一进程中的不同线程可能具有不同的好值。便携式应用程序应该避免依赖于Linux的行为,这可能会使未来的标准保持一致。

因为Linux使用pthreads(也是如此的boost Linux移植),你也可以使用pthread_setschedparam其具有比在Linux特有的每个线程nice行为更便携的优势。

在这两种情况下,都存在轻微的不安,因为不得不求助于系统设施来管理所谓的“不透明”的资源,因此请慎重行事(与任何特定于实现的)。

+0

如果这些重新划分的线程中的一个分叉,子进程是否具有线程或原始进程的优先级? – TSG