2
我很困惑线程和同步如何工作。我正在处理一个示例问题,如下所示:线程和同步
有两个线程:P和Q.两个线程共享变量counter。 在一个线程中修改计数器对另一个线程是可见的。增量指令 向变量添加一个,存储新值。
1 global integer counter = 0
2
3 thread P()
4 incr(counter)
5 print counter
6 end
7
8 thread Q()
9 print counter
10 incr(counter)
11 print counter
12 incr(counter)
13 end
有三个打印语句输出计数器的值。在下面的输出 列表中,指出给定的输出是否可行,如果是,则给 指定 可导致输出的P和Q的交错指令(使用线程和行号)。
这个例子有输出122有可能吗?它可以由P4, Q9, Q10, P5, Q11, Q12
生成。我无法把我的头围绕着它如何工作。