C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

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



답변:



API 도큐먼트도 안 읽어봤나요.

상식적으로 생각해 보세요.
SetProcessAffinityMask() 윈도우즈 API가 프로세스 핸들값을 파라미터로 사용하므로
타 프로그램의 프로세스 핸들값을 Enumerate 해서 다른 CPU 코어를 사용하도록
Process Affinity Mask 를 바꿔주면 간단하게 처리할 수 있는 것을...



+ -

관련 글 리스트
76100 특정 Core를 독점하도록 프로그램을 만들 수 있나요? 왕초보와코드 1267 2021/04/05
76101     Re:특정 Core를 독점하도록 프로그램을 만들 수 있나요? 빌더(TWx) 1493 2021/04/05
76102         Re:Re:특정 Core를 독점하도록 프로그램을 만들 수 있나요? 왕초보와코드 1294 2021/04/06
76103             Re:Re:Re:특정 Core를 독점하도록 프로그램을 만들 수 있나요? 빌더(TWx) 1395 2021/04/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.