В книге Таненбаума "Операционные системы" приводится такое описание многопоточности:
"Например, если одному из процессов нужно прочитать слово из памяти (что занимает несколько тактов), многопоточный процессор может переключиться на другой поток. Многопоточность не предлагает настоящей параллельной обработки данных. Одновременно работает только один процесс, но время переключения между процессами сведено до наносекунд."
Какой смысл переключаться со считывание слова на другой процесс, если это не параллельная работа? Почему процессору не закончить считывание?
"Он все равно продолжит считывание?"-- ответ, да. Машинная инструкция считывания будет либо полностью завершена, либо полностью отброшена (тогда исполнения потока после его последующего возобновления начнется с нее) – avp Apr 13 '19 at 12:36