답변 감사합니다.
"2) 그 Core를 자신이 사용해야 한다" <- 이것은 답변 내용을 적용하면 가능하겠습니다.
그런데 " 1) 타 프로그램이 해당 Core를 사용하지 못 하도록 해야 한다"
이것은 방법이 없는걸까요?
빌더(TWx) 님이 쓰신 글 :
: 왕초보와코드 님이 쓰신 글 :
: :
: : C++로 윈도우용 프로그램을 코딩한다고 가정하고...
: :
: : 해당 프로그램이 CPU의 Core중 (예를들어 4코어 CPU) 하나만 독점해서 사용하는 방법이 있나요?
: :
: : 연산량이 많은 프로그램이라고 가정하에, 코어 딱 하나만 100% 사용하고 나머지는 놔두면 시스템 전체의 버벅거림이
: : 그닥 일어나지 않을거 같은데요.
: :
: : 그런데 이렇게 하려면
: :
: : 1) 타 프로그램이 해당 Core를 사용하지 못 하도록 해야 한다
: : 2) 그 Core를 자신이 사용해야 한다
: :
: : 이런게 가능할까요?
: :
: :
:
:
:
: 답변:
:
:
: 1. 프로세스 단위.
:
: 특정 프로로그램이 특정 CPU 코어만 이용하도록 하려면...
: SetProcessAffinityMask() API 이용하면 되고..
:
: 이 경우 특정 프로그램의 모든 쓰레드들이 특정 CPU 코어에서만 스케쥴링 됌.
:
:
: 2. 쓰레드 단위.
:
: 특정 쓰레드가 특정 CPU 코어만 이용하도록 할 경우에는...
: SetThreadAffinityMask() API 이용.
:
:
:
|