Я рассматриваю пример кода в моем учебнике (проблема столовых философов) и в основном методе, прямо перед возвратом 0; Заявление, есть блок кода, который я включил ниже. Предполагается, что этот цикл создаст каждого философа как параллельный раздвоенный процесс. Это означает, что каждый философ казнит философа (i).
Однако, поскольку сразу после оператора if следует перерыв, разве это не означает, что создан только первый философ (i = 0)?
for (i = 0; i < N - 1; ++i)
if (fork() == 0)
break;
philosopher(i) ;