Solaris에서 processor_bind
은 스레드에 대한 선호도를 설정하는 데 사용됩니다. 대상 스레드의 LWPID를 알아야하거나 상수를 참조하려면 상수 P_MYID
을 사용해야합니다.Solaris에서 pthread_t의 LWP ID를 가져 와서 processor_bind와 함께 사용하십시오.
나는이처럼 보이는 기능이 있습니다
내 기능은 내가 명확성을 위해 생략 한 그것의 크로스 플랫폼 잔뜩 가지고 실제로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
또는 다른 인터페이스를 사용하여 어떻게하면됩니까?
이는 pthread_create()는 lwpid를 매핑 보장을 참조하십시오? –
pthread_t는 데이터 유형입니다. pthread_create의 첫 번 0 인수는 인수 1을 SUCCESSFULLY 스레드에 대한 lwpid 값으로 수정합니다. 예, 보장됩니다. Solaris 10 및 11 모두에서 /usr/include/sys/types.h:typedef uint_t pthread_t;/* = thread.h의 thread_t * / –