[理工] 108交大计系5

楼主: waes81224 (waes81224)   2020-10-26 00:17:33
题目如下
答案是A
https://i.imgur.com/KtILUJo.jpg
1. 想请问这题程式码中的a是属于global variable,当child process经由fork行程后,也
会共享同一个a。fork之后接下去执行时,应该会因为parent preocess与child process执
行顺序的不同而造成a值有不同的可能对吧(race condiction发生)?
2. 我把程式码拿去执行,却都是4 3 3 2 2 1这个顺序,而没有上述的情形发生,想请问为
什么呢?
这个想法影响到我对于 (a) 跟(b)的选择,感谢大家。
作者: willy3570 (Lipper0703)   2020-10-26 01:01:00
fork会copy一份parent的资料给child,因此child有自己的一份资料来自于parent的copy,所以变量不是共享的,child更改a的内容也不会影响到parent。

Links booklink

Contact Us: admin [ a t ] ucptt.com