2013-10-26 20 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