2010-12-01 14 views
0

私は、ループの数がn個のcプログラムを持っています。このプログラムで実行されるプロセスと子プロセスの数はどのくらいですか?実行中のプロセス数

答えて

0

C言語自体は、マルチプロセスプログラムをサポートしていません。マルチプロセッシングされたバージョンを実装するには、OSが提供するAPIに依存する必要があります。 Linux環境ではfork関数、Windows環境ではCreateProcessを使用できます。対応するプラットフォーム依存APIは、これらの関数の使い方の詳細を提供します。がんばろう!

4

forループは新しいプロセスをフォークしません。 N個のforループは単一のプロセスで実行する必要があります。あなたはフォークをしない場合は

1

1つだけのプロセスを持つことになります。フォークを使用する場合はコードを表示してください。

0

編集:ちょうどforループが任意の新しいプロセスをすることはありませんし、ループのための唯一のプロセスで実行されます。 Linuxで新しいプロセスを作成したい場合は、fork()を使用してください。

私はよく覚えている場合、M回反復各ループとループのNを使用して

が順番にフォーク以来、M^Nプロセスの別の海を行いますM^Nプロセス、(のようなものを作るだろうが)、同一の作成しますプロセスなど...など。システムは非常に遅くなる可能性があり、MAX_PROCESSを超えた場合、fork()は新しいプロセスを作成しません。

最初のプロセスは、M^Nの子プロセスを作成します。 これらの子どもたちはそれぞれ、M^N子プロセス などを作成します。

達成しようとしていることはありますか?彼は `フォークを行う場合

+0

あなたの答えが正しいか()'(または 'のCreateProcess()')各反復で、彼はそう言っていませんでした。 –

+0

ええ、私は(多分間違っている)コメントからの結論に達しました。 – Muggen

+0

さて、より関連性の高い回答を使って編集してください:P。 – Muggen