Существуют ли какие-либо вычисления, которые могут быть выполнены * только * при объединении двух или более параллельных процессов?

#multiprocessing

#многопроцессорность

Вопрос:

Аналогия: два человека (скажем) способны перенести диван, никто из них в одиночку не может. Мне интересно, может ли такое произойти при многопроцессорности.

Комментарии:

1. Нет, если только вы не утверждаете, что параллельный процесс не может быть выполнен без параллельной обработки по определению слов, но это циклический.

2. Что ж, спасибо @ChrisDodd, но мне это не кажется правильным ответом; не могло ли случиться так, что две вещи нужно было выполнять одновременно?

Ответ №1:

Короткий ответ — нет.

Любая система, которая является завершенной по Тьюрингу, может эмулировать любую другую систему (включая многопоточность и параллельные задачи). Это может быть медленнее, чем собственное выполнение, но это всегда можно выполнить.

Некоторые проблемы, такие как проблемы с параллелизмом и синхронизацией, могут не возникать (они не являются детерминированными на многопроцессорных машинах).