Я читал в последнее время около system architecture
, а тема multi-threading
не была подробно освещена с последними улучшениями в технологии. Я сделал свою часть поиска, но не смогли найти ответы на следующие:многопоточность зависит от архитектуры машины?
Вопросы есть являются
1) Является ли multi-threading
зависит от system architecuture (CPU)
. все CPU (single core)
поддержка multi-threading
? Если это не то, что происходит с multi-threaded
приложений при запуске на этих машинах
Он цитируемые here что
Intel CPUs support multithreading, but only two threads per CPU.
AMD CPUs do not support multithreading and AMD often sites Microsoft's
recommendations to turn off Hyperthreading on Intel CPUs when running applications
like peoplesoft and Exchange.
2), так что это означает, что говорит только two threads per CPU
здесь. В любой момент времени CPU (single core)
может обрабатывать только thread
. а другой thread
ожидает обработки корректно?
3) как он отличается от приложения, которое порождает, скажем, 10 threads
и ждет их выполнения. Если процессор не может решить только two threads
, не должен программировать этот факт при рассмотрении multi-threaded applications
.
Даже с multi-core processors (say quad-core)
максимум 8 threads can be queued
, но только 4 threads
может быть обработан в одно и то же время.
P.S: Я прочитанный немного о hyper-threading
, но я не уверен, если это уместно здесь, и если все процессоры поддерживают hyper-threading
Возможно, вы найдете мой ответ на аналогичный вопрос: http://stackoverflow.com/a/19518207/71074 –