0

私がこれを行う場合: CreateThreads、setsched_affinity を CPU 0 にすると、すべてのスレッドも CPU 0 にアフィニティを持ちます。代わりに、一連のアクションを逆にした場合、つまり set_schedaffinity を最初に作成してからスレッドを作成すると、スレッドはアフィニティを持ちますか?

pthreads ライブラリを使用してスレッドを作成しています。回答ありがとうございます

4

1 に答える 1

3

このsched_setaffinity()呼び出しはLinux固有であるため、この回答はそこで適用されます。

の呼び出しsched_setaffinity()は、単一のスレッドにのみ影響します。で作成されたスレッドpthread_create()は、その親のCPUアフィニティマスクを継承します。

これは、他のスレッドを作成した後に現在のスレッドのアフィニティを変更した場合、それらのアフィニティはデフォルトのままであることを意味します。ただし、逆の順序で実行すると、変更されたアフィニティセットが継承されます。

于 2011-04-15T06:48:47.273 に答える