Наверное, нет. (Но если у вас есть время, я рад, что вы попробуете сравнить.)
Как вы говорите сами, поток обработки, скорее всего, просто проведет большую часть своего времени в ожидании потока чтения. И - что еще более важно - вероятно, вы усложняете свое программное обеспечение из-за очень небольшого выигрыша (см. «Преждевременная оптимизация»).
Это не значит, что идея плохая. Давайте предположим, что ваши вычисления очень вычислительно дорогие, а место, из которого вы читаете, очень медленный (например, модем удаленного доступа). Тогда да, вы могли бы выиграть, разделив чтение и выполнив обработку в разных потоках, поэтому ни один из них не должен делать паузу для другого настолько, насколько это возможно. Вы по-прежнему ограничены самыми медленными потоками, и, учитывая большое количество данных, одному из потоков в конечном итоге придется ждать другого.
Примечание по номенклатуре: я сделал предположение, что вместо " hyperthreading ", который является рыночным названием для аппаратной функции процессора, вы действительно имели в виду "многопоточность", которая является концепцией программирования.