问题描述
- 操作系统中并发与共享的问题
-
并发与共享的问题:并行程序访问共享数据问题举例:(count为共享变量初值=300)
Program A: …
N=count
N=N+100
count=N
…
Program B:…
M=count
M=M+200
count=M
…
如果按以下次序占处理机运行:
N=count,N=N+100;
M=count,M=M+200,count=M;
count=N.
结果count=400(应为600)*
解决方案
如果为400,说明Program A存在脏读的问题。也就是
N=count后,count被B更新为500
N=N+100,此时N=400
count = N,写回400
时间: 2024-11-03 03:27:04