Краткий ответ: может быть, и отчасти.
Каждое ядро не может выполнять больше работы, чем одна вещь за раз, или больше, чем одна вещь за такт. Операционная система, однако, может планировать работу для многих процессов на ядро на любой модуль, размер которого превышает один такт. Это простой способ взглянуть на гиперпоточность.
Если приложение имеет длительные периоды ожидания, тогда 32 потока могут быть легко загружены в память и запущены одновременно, практически не влияя на производительность, что, я полагаю, действительно является вопросом. Если бы было создано 32 потока с интенсивными вычислениями, более длинные рабочие циклы по сравнению с более короткими циклами ожидания могли бы устранить иллюзию одновременной работы.
Надеюсь, если ваша цель - 32 потока, у вас есть причина выбрать это число, и оно будет динамичным для дальнейшего развития. Один процессор может хорошо обрабатывать 32 потока, другой может захлебнуться, и через 5-10 лет 32 потока могут быть меньше, чем один поток на физическое ядро. В любом случае, тестирование приложения с 4, 8, 16 и 32 потоками, чтобы определить, какая работа завершается быстрее всего в вашем приложении, было бы лучше всего проверить, хорошо ли масштабируется рабочая нагрузка до вашей цели - 32 потока.