2016-09-12 99 views
0

给出锁的情况:可重入锁 - 可能的输出?

enter image description here

我想我得到这个权利,但我要肯定的,所以我问你们,如果我犯了一个错误。

1. Lines 1.1 - 1.7: y = 5, 
    Lines 2.1 - 2.3: x = 15. 

2. Lines 2.1 - 2.3: x = 11, 
    rest    y = 25. 

有没有这个确切的情况任何其他输出:

我在这个PROGRAMM有两个可能的输出变量“X”和“Y”?

+0

取出链接,并提供在普通文本中的代码。 –

+0

你的意思是两个线程完成后的输出? – vsminkov

+0

是两个完成时的输出,对不起,我忘了补充:两个变量都是原子的! – klarz

回答

1

右边的锁块有侧可以在以下三个位置之一发生:

  • 之前1.1
  • 之间1.3和1.5
  • 1.7

后的x值和y这三种情况是

  • x = 11, y = 25
  • x = 11, y = 5
  • x = 15, y = 5