teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤字修正

2019/12/16 13:49

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -1,4 +1,4 @@
1
- fork() すれば新たに子プロセスが作られ、fork() 直後のコードを走るプロセスが2つになる・・・そこは分かってると思う。さて親と子、2つのプロセスがあるということは、親プロセスも子プロセスも、その他の(たぶんアクティブな)プロセスも、OS内部のプロセスキューに並んでいる状態です。その時、親と子、どちらが先に動くか、それは**C言語の問題ではなくて、OSのプロセススケジューリングの問題**です。そのプログラム問題というより、OSの問題だということを強調します。
1
+ fork() すれば新たに子プロセスが作られ、fork() 直後のコードを走るプロセスが2つになる・・・そこは分かってると思う。さて親と子、2つのプロセスがあるということは、親プロセスも子プロセスも、その他の(たぶんアクティブな)プロセスも、OS内部のプロセスキューに並んでいる状態です。その時、親と子、どちらが先に動くか、それは**C言語の問題ではなくて、OSのプロセススケジューリングの問題**です。そのプログラム問題というより、OSの問題だということを強調します。
2
2
 
3
3
  なので、ご使用のOS・動作環境を明らかにして、その筋の質問として問いなおすと良いかもしれません。現在だとCPUのコア数が関係するかもしれません。
4
4
 

1

スペルミス

2019/12/16 13:49

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  なので、ご使用のOS・動作環境を明らかにして、その筋の質問として問いなおすと良いかもしれません。現在だとCPUのコア数が関係するかもしれません。
4
4
 
5
- ちなみに、そのコードを私の手元で動かしてみると、その都度表示の順番が動きました。私のPCのOSはLinux(Ububtu 16.04)です。
5
+ ちなみに、そのコードを私の手元で動かしてみると、その都度表示の順番が変化しました。私のPCのOSはLinux(Ubuntu 16.04)です。
6
6
  ```sh
7
7
  $ ./a.out
8
8
  PARENT_PID = 26949