2010-12-01 3 views

ответ

0

Сам язык C не поддерживает многопроцессорную программу. Вы должны зависеть от API, предоставляемого вашей ОС, для реализации многопроцессорной версии. Вы можете использовать функцию fork под Linux и CreateProcess в среде Windows, а соответствующие API, зависящие от платформы, могут дать вам подробную информацию о том, как использовать эти функции. Удачи!

4

A for loop не развивает новый процесс. N число циклов for должно выполняться в одном процессе.

1

Если вы не используете fork, у вас будет только один процесс. Поэтому покажите свой код, если вы используете fork.

0

edit: Just for Петли не будут создавать никаких новых процессов, а циклы for будут выполняться только в одном процессе. Если вы хотите сделать новый процесс в Linux, используйте fork().

Если я хорошо помню,

Использование N для петель с каждым циклом повторяется для М раз сделаем что-то вроде M^N процессов, что, в свою очередь, сделать еще море M^N процессова, так как вилка() создает идентичную процессы и т. д. и т. д. Система может оказаться очень медленной, и если MAX_PROCESS превышен, fork() не будет создавать никаких новых процессов.

Первый процесс создаст дочерние процессы M^N. Эти дети каждый из них также создадут M^N детский процесс и т. Д. И т. Д.

Что вы пытаетесь достичь?

+0

Ваш ответ правильный, если он делает fork() `(или` CreateProcess() `) на каждой итерации, но он этого не сказал. – 2010-12-01 14:02:27

Смежные вопросы