2011-09-09 3 views
0

부스트 스레딩과 SFML을 사용하여 TCP 및 UDP 소켓을 사용하는이 C++ 응용 프로그램을 작성했습니다. 내가 4 코드 제온 CPU를 가지고 있지만 그것은 단지 1 코어를 사용하는 것 같습니다. 전체 4 코어에 어떻게 액세스 할 수 있습니까?멀티 코어 코딩

답변

1

스레드 할당은 사용중인 OS에 따라 다릅니다. 또한 "1 코어 만 사용하고있는 것 같습니다."라는 의미는 무엇입니까?

당신은 몇 가지 조사 할 수 그러나 :

  1. 확인 부스트 hardware_concurency()를
  2. Windows를 사용하는 경우, 당신의 응용 프로그램에서 실행 얼마나 많은 스레드을 보여줍니다 멋진 프로그램이있는 스레드는 특정 HW 코어 및 사용법 (클릭 속성 및 스레드 탭)과 연결됩니다. http://technet.microsoft.com/en-us/sysinternals/bb896653

  3. 스레드에서 실제로 수행되는 작업은 무엇입니까? 어쩌면 당신은 스레드 기아와 같은 경쟁 조건을 가지고있을 것입니다.

  4. AFAIK 모든 데이터가 커널 드라이버를 통해 이동하고 끝에 직렬화되기 때문에 일부 데이터를 전송하는 데는 여러 스레드를 만드는 것이 의미가 없습니다. 당신이 using`하고있는 OS까지

BR

+0

'스레드 할당입니다 - 완전히 사실이 아니다 (당신이 스레드 선호도를 설정할 수 있습니다, 주어진 충분한 권한) – sehe

관련 문제