0
코어에서 스레드를 항상 가장 낮은 우선 순위로 실행할 수있는 방법은 무엇입니까? sched_getcpu()을 사용하여 스레드에 특정한 코어를 할당 할 수 있지만, 우선 순위가 낮은 실행을 어떻게 구현할 수 있습니까?우선 순위가 가장 낮은 코어에서 스레드를 실행하십시오.
코어에서 스레드를 항상 가장 낮은 우선 순위로 실행할 수있는 방법은 무엇입니까? sched_getcpu()을 사용하여 스레드에 특정한 코어를 할당 할 수 있지만, 우선 순위가 낮은 실행을 어떻게 구현할 수 있습니까?우선 순위가 가장 낮은 코어에서 스레드를 실행하십시오.
당신은 std::thread
와 함께 할 수 없어, 아직 당신이 native_handle을 획득하고 pthread에 핸들 core affinity 및 priority을 (예를 보면)을 설정할 수 있습니다.
편집 : 이것은 Linux 용이며, Windows에서는 다른 핸들을 얻습니다.
이 함수는 스레드가 실행되고있는 CPU의 번호를 반환합니다. 설정하지 않았습니다. OS가 코드가 실행되는 위치를 결정합니다. – Ron
SMP (Symmetric Multiprocessor) 환경에서 모든 코어가 동일하고 병렬로 실행되므로 무언가가 누락 되었습니까? 궁극적으로 각 코어에서 실행되는 것이 OS에 의해 우선 순위 지정되어야하지만 우선 순위 개념이 없습니다. – doron
당신은 그걸 통제 할 권한이 없습니다. 운영 체제 프로세스 스케줄러가이를 처리하고 있습니다. 그러나 Linux에서는 스케줄러의 매개 변수를 조정할 수 있습니다. https://www.ibm.com/support/knowledgecenter/en/linuxonibm/liaai.saptuning/saptuningadjust.htm –