Microsoft MVP성태의 닷넷 이야기
C# 스레드풀 코어별 실행 문의 [링크 복사], [링크+제목 복사],
조회: 14745
글쓴 사람
진우
홈페이지
첨부 파일
 

안녕하세요
스레드풀 관련 문의좀 드립니다.

스레드풀의 스레드들을 CPU 코어에 각각 실행하도록 하고싶은데요 (코어당 스레드 2개씩)
그런데 win api 를 봐도 코어를 지정하여 스레드를 실행하는 api 옵션을 찾아보질 못했습니다.

성능 때문에 프로그램 실행내내 스레드풀을 계속 유지하면서
CPU 코어를 모두 활용하여 코어별로 스레드를 실행하고싶은데

코어별 스레드를 실행시키 방법이 없는건지 궁금합니다.


읽어주셔서 감사합니다~~








[최초 등록일: ]
[최종 수정일: 7/20/2019]


비밀번호

댓글 작성자
 



2019-07-21 12시47분
그런 세세한 제어가 필요하다면 기본 ThreadPool이 아닌, 자신만의 스레드 풀을 구현해야 할 것입니다.

단지, 현재의 스레드 풀에 그런 기능을 억지로 넣고 싶다면 SetThreadAffinityMask같은 Win32 API를 interop 호출해 적절하게 코어에 따른 수를 유지하도록 만들어야 합니다. 물론 모든 구현은 개발자의 몫입니다.
정성태
2019-07-22 04시03분
[진우] 아 직접 지정해서 해야하는거군요.
알겠습니다 답변감사합니다 ^^
[guest]

NoWriterDateCnt.TitleFile(s)