楼主:
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 同一份资料