推 Aa841018: 父藉由fork產生子,pid=0時,子進入,pid>0時,父進入!11/12 20:59
但是洪逸筆記上的,我上面貼的那張,他也是一樣的if else,為什麼他的變數是可以共享
的
推 Dora5566: 顯然A=25,B=2811/12 21:06
所以大大是認為答案是錯的嗎
※ 編輯: paralyzation (1.163.20.226), 11/12/2018 21:11:54
※ 編輯: paralyzation (1.163.20.226), 11/12/2018 21:14:27
推 skyHuan: 筆記這題洪逸上課有說是共享,可以實作這裡不討論作法 11/12 21:43
推 Aa841018: 不曉得會不會和wait(null)有關係… 11/12 22:28
推 skyHuan: wait是父等子完成才會繼續跟local變數會複製沒關係 11/12 22:55
推 kcilao110779: 洪逸上課說共享的意思不是指宣告在全域,而是用shar 11/12 23:19
→ kcilao110779: ed mem或是File等等其他方式去實作 11/12 23:19
推 EXPCDR: 答案是對的吧! 11/13 00:37
推 Dora5566: 顯然我錯了,全域變數確實不共享 11/13 07:29
推 skyHuan: 應該不是說全域變數不共享,全域變數是屬於一個process 11/13 13:14
→ skyHuan: 的,fork出另外一個process兩個是獨立的,不同的process 11/13 13:14
→ skyHuan: 本來就不會共享屬於自己的全域變數 11/13 13:14
推 Dora5566: 是的 問一下,像malloc pointer array之類的heap,會共 11/13 13:33
→ Dora5566: 享嗎 11/13 13:33
→ Dora5566: 就是fork()後 11/13 13:33
→ Dora5566: 我是覺得不會,超過process size ,但是又記得有些機制可 11/13 13:35
→ Dora5566: 以回parent去存取heap… 11/13 13:35
推 Dora5566: 啊…應該不共享 看到前幾篇的print buffer了 11/13 14:31
推 o5739201: 只有thread會共享? 11/13 19:26