Могут ли два процесса одновременно работать на одном ядре процессора?

Могут ли два процесса одновременно работать на одном ядре процессора с гиперпоточностью? Я узнаю из интернета. Но четкого прямого ответа не вижу.

Редактировать:. Спасибо за обсуждение и обмен опытом! Мой кошелек, чтобы разместить мой вопрос здесь, не для обсуждения параллельных вычислений. Это будет слишком большой вопрос, чтобы обсуждать его здесь. Я просто хочу знать, может ли многопоточное приложение получить больше пользы от гиперпоточности, чем многопроцессное приложение. После дальнейшего чтения я сделал следующие выводы.

1) Ядро CPU с поддержкой технологии Hyper-Threading имеет два набора состояний CPU и логику прерываний. Между тем, у него есть только один набор исполнительных блоков и кэш. (Я еще не изучал, что такое конвейер)

2) Многопоточность выигрывает от Hyper Threading только в том случае, если в каком-то выполняемом потоке есть задержка. Я думаю, что этот пункт может точно соответствовать общей причине, почему и когда программисты используют многопоточность. Если многопоточное приложение было оптимизировано. Оно может не получить никаких преимуществ от многопоточности Hypter.

3) Если состояние процессора отображается на состояние процесса, я считаю, что Марк прав в том, что многопроцессное приложение может даже получить больше преимуществ от технологии гиперпоточности.

4) Когда производитель CPU говорит "поток", похоже, что их "поток" отличается от потока, который я знаю как программист java?

10
задан Yiyu Jia 19 January 2012 в 13:26
поделиться