Solaris では、processor_bind
スレッドのアフィニティを設定するために使用されます。ターゲットスレッドの LWPID を知るか、定数P_MYID
を使用して自分自身を参照する必要があります。
次のような関数があります。
void set_affinity(pthread_t thr, int cpu_number)
{
id_t lwpid = what_do_I_call_here(thr);
processor_bind(P_LWPID, lwpid, cpu_number, NULL);
}
実際には、私の関数には、明確にするために省略したクロスプラットフォームのものがたくさんあります。
重要な点は、任意の pthread_t のアフィニティーを設定したいので、P_MYID
.
processor_bind
または代替インターフェースを使用してこれを達成するにはどうすればよいですか?