擅长:python、mysql、java
<p>您的线程在锁定变量之前都<em>读取</em></p>
<pre><code> tmp = self.the_casino.euro
</code></pre>
<p>第二次睡眠确保所有线程在更改<code>self.the_casino.euro</code>之前都有时间看到<code>self.the_casino.euro</code>等于零</p>
<p>然后,在他们醒来后,他们每个人都将其设置为<code>tmp + 1</code>(即,他们每个人都将其设置为<code>1</code>)</p>
<hr/>
<p>如果要获取<code>5</code>,则需要将读取和更新变量设置为单个原子操作。您可以通过将读取和更新放在同一个关键部分来实现这一点</p>