ну ответ одновременный с двух ядер все равно не получить)) все равно сначала с одного ядра ответ, через пару милисекунд со второго_))
Зависит от задачи, если вещи реально параллельные, то можно запустить и забыть. А если они обмениваются данными, то всё. Нужно, чтобы один поток дал знать другим, что он меняет общие данные, все потоки останавливаются, ждут, когда первый поток данные доизменяет, смотрят, что он изменил. Иначе будет полный бедлам и хаос.
Короче, потоки должны менять общие данные как можно реже, иначе игра не стоит свеч