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