2
A
답변
7
스레드를 지원하는 모든 언어와 런타임은 하이퍼 스레딩을 지원합니다.
하이퍼 스레딩은 여러 스레드간에 CPU를 멀티플렉싱하는 방식으로 실제 CPU는 하나이지만 두 CPU로 운영 체제에서 볼 수 있으므로 두 스레드를 스케줄링 할 수 있습니다. 하나의 스레드 (메모리 대기, 긴 FPU 연산 등)에서 CPU의 스톨은 CPU가 다른 스레드의 코드를 실행할 수있게합니다.
하이퍼 스레딩에 대한 자세한 내용은 Wikipedia입니다.
0
하이퍼 스레딩은 대부분 시스템에서 더 많은 프로세서를 갖는 것과 같습니다. 사용자 언어가 스레드를 지원하지 않더라도 프로그램이 다른 사본을 생성하거나 (운영 체제에서 지원하는 경우) 사용 가능한 프로세서와 균형을 유지할 수있는 작업자 프로세스를 생성 할 수 있습니다.
해당 언어에 대한 스레드 지원을 찾아야하지만 스레드가 프로그램을 쉽게 복잡하게 만들 수 있으며 코드가 비동기 적으로 실행될 수 있으므로 버그를 찾기가 어려울 수 있습니다.
귀하의 질문에 대한 답변은 '아마도,하지만 이에 따라 다릅니다.'입니다.
다른 질문에 대해서는 런타임 및 컴파일러 지원에 따라 C에서 여러 스레드를 쉽게 구현할 수 있습니다. 예를 들어 OpenMP 확장자 http://en.wikipedia.org/wiki/OpenMP이 유용 할 수 있습니다.
관련 문제
- 1. SSE 및 하이퍼 스레딩
- 2. 프로그래밍 언어 :
- 3. 프로그래밍 언어
- 4. 프로그래밍 방식으로 하이퍼 스레 지원 CPU를 감지합니까?
- 5. 멀티 스레딩 프로그래밍
- 6. 최신 Xeon에서의 FP 집약적 하이퍼 스레딩 성능
- 7. 리눅스에서 CPU 주문하기 (하이퍼 스레딩 사용)
- 8. 하이퍼 스레딩 기능이있는 단일 코어 PC에서 테스트
- 9. 자동차 프로그래밍 언어
- 10. 프로그래밍 언어 란 무엇입니까?
- 11. 온보드 Symbian 프로그래밍 언어
- 12. XML 기반 프로그래밍 언어
- 13. Med-PC 프로그래밍 언어
- 14. 스크립팅 또는 프로그래밍 언어?
- 15. SIMD 프로그래밍 언어
- 16. 유형 안전한 프로그래밍 언어 ..?
- 17. 수학 프로그래밍 언어
- 18. Stratego/XT 프로그래밍 언어
- 19. 스위치 프로그래밍 언어
- 20. 프로그래밍/스크립팅 언어 식별
- 21. 기능적이고 순수한 프로그래밍 언어
- 22. GBA ROM 프로그래밍 언어
- 23. 학습 프로그래밍 언어 개념
- 24. 웹용 프로그래밍 언어
- 25. meego가 지원하는 프로그래밍 언어
- 26. 웹 프로그래밍 언어 벤치마킹?
- 27. NesC 프로그래밍 언어
- 28. 프로그래밍 언어 질문 만들기
- 29. Windows 어셈블리 언어 프로그래밍
- 30. 구문이없는 Stata 프로그래밍 언어?
사실 더 세밀합니다. 다른 계산 단위 (산술, 부동 소수점)는 다른 스레드의 명령어 결과를 동시에 계산할 수 있습니다. –
그래 ... 더 완전한 대답은 순서가 잘못된 실행과 파이프 라인 마구간의 맥락에서 이것을 줄 것이지만 나는 헤세이와 패터슨의 700 페이지를 대답으로 압축하고 싶지 않았다. :) – Michael
사실, 나는 Atom이 in-order 부분이기 때문에 Atom의 경우 동시에 다른 계산 단위가 가능한지 확실하지 않습니다. – Michael