Как возможен параллелизм на одном потоке/ядре?

Современные языки программирования предоставляют своим пользователям механизмы параллелизма и параллелизма как первоклассные граждане. Я понимаю, как программируются параллельные алгоритмы, и хорошо представляю, как два потока на многоядерном процессоре могут работать параллельно.

Тем не менее, большинство этих платформ также поддерживают выполнение параллельных процессов в одном потоке.

  • Действительно ли эти процессы идут параллельно?
  • Как на уровне ассемблера две разные подпрограммы могут выполняться одновременно в одном потоке?
8
задан thwd 20 April 2012 в 11:33
поделиться