2011-07-05 6 views
4

나는 쿼드 코어 CPU를 가지고 있으며 항상 두 번째 코어에서 Thread을 시작한다고 가정 해 보겠습니다.특정 코어에서 스레드를 시작하는 방법은 무엇입니까?

C#에서도 가능합니까?

+1

[.NET에서 프로세서 선호도를 설정하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/2510593/how-can-i-set-processor-affinity-in-net)를 참조하십시오. –

답변

0

설정 ProcessorAffinity :

0x0001 = 0000 0001 - run on 1st core 
       ↑ 
0x0002 = 0000 0010 - run on 2nd core 
       ↑ 
0x0003 = 0000 0011 - run on 1st and 2nd core 
       ↑↑ 
0x0004 = 0000 0100 - run on 3rd core 
       ↑ 

간단한 코드 :

using (var process = Process.GetCurrentProcess()) 
{ 
    // only run on core number 1 
    process.ProcessorAffinity = (IntPtr) 0x0001; 
} 
관련 문제