Он не будет столь значительным, как многоядерная система, но он все равно может обеспечить некоторые преимущества.
Главным образом все преимущества, которые вы собираетесь получить, будут касаться контекстного переключателя, который будет происходить после пропусков ввода в уже исполняемый поток. Выполнение потока может ожидать чего-то вроде аппаратного ресурса или неправильного предсказания ветвления или даже передачи данных после промаха в кеше.
В этот момент ожидающий поток может быть выполнен, чтобы извлечь выгоду из этого «времени ожидания». Но, конечно, контекстный переключатель займет некоторое время. Кроме того, управление потоками внутри кода, а не последовательное вычисление, может создать дополнительную сложность для вашей программы. И, как уже было сказано, некоторые приложения должны быть многопоточными, поэтому в некоторых случаях нет выхода из контекстного переключателя.
Те же, что и многопоточная программа на многоядерном процессоре. Это операционная система, чтобы заставить ее выглядеть так, как будто на машине столько процессоров, сколько есть потоки. Если вы используете потоки, чтобы выжать больше циклов процессора из машины, вы не будете на одном ядре. –
Другие ответы здесь: [В чем преимущество использования потоковой передачи в программе?] (Http://stackoverflow.com/q/19652554/395718) – Dialecticus
Посмотрите на принятый ответ и (второй) последний комментарий о том, как скорость многопоточности (когда потоки не могут запускаться одновременно)? –