12 개의 코어와 12 개의 스레드가 실행 중입니다. 각 코어에 1 개의 스레드를 바인딩하고 싶습니다. 이것은 각 스레드의 시작 부분에서 호출하는 것입니다.SetThreadAffinityMask의 올바른 사용
int core=12;
SetThreadAffinityMask(GetCurrentThread(),(1<<core)-1);
이 내가이 그것을 호출 할 적절한 방법이 될 것인지 몰라요 ...이 것입니다. 두 번째 매개 변수가 작동하는 방식을 이해하고 있는지 확실하지 않습니다.
SetProcessaffinitymask도 호출해야합니까?
일반적으로 메인 스레드 설정 선호도를 루프하여 연동시킬 필요가 없습니다. –
@David : 네, 그 역시 옵션입니다.나는 대답에 덧붙일 것이다. –
(1 << core) -1은 12 비트 세트입니다. – Jake