作者:
yoz4ni (yoooooz)
2020-05-23 14:35:15請問一下框起來的部分
https://i.imgur.com/uBIpV46.jpg
上面寫 execute concurrently
concurrent 不是是一段時間有多個 process 在執行嗎,那為什麼會有 share data 的問題
不是在切換 process 的時候會把狀態存起來,要執行時在放回去嗎?
謝謝
我自己認為是PA執行完未將變數assign回去,然後PB使用到這個變數就會錯誤
multithread 可以對同個 shared data 操作阿,不然幹嘛要 lockthread 的情況下 switch 只會存 pc,regs,local variable,如果是共用的 shared data(global variable)之類的話又不會保存
提醒樓上這邊的shared data是有一致性問題的Global variable 對多個process(像是fork出來的)來說是獨立的
作者:
plsmaop (plsmaop)
2020-05-24 08:15:00因為共享資源的存取與寫入不是原子操作
喔靠北我以為是multithread,沒看到問的是process切換就算是 multiprocess 共享一段記憶體空間好了,contextswitch 的時候 pcb 也不會保存記憶體裡面的內容吧(按到噓sorry
作者:
yoz4ni (yoooooz)
2020-05-25 00:24:00context switch 時,share data 會被影響到,這樣對ㄇ
作者:
kyuudonut (善良è€ç™¾å§“)
2020-06-05 19:14:00不對,不同的 process 也不見得會 touch 同一份資料