擅长:python、mysql、java
<p>试试这个</p>
<pre><code>class Casino:
euro = 0
class PlayingThread(threading.Thread):
def __init__(self, the_casino, playerno=1):
threading.Thread.__init__(self)
self.lock = threading.Lock()
self.playerno = playerno
self.the_casino = the_casino
def run(self):
try:
self.lock.acquire()
self.the_casino.euro += 1
finally:
self.lock.release()
casino = Casino()
lt = []
for i in range(0, 5):
pt = PlayingThread(casino, i)
pt.start()
lt.append(pt)
for t in lt:
t.join()
print("We earned a lot of money! Sum=", casino.euro)
</code></pre>
<p>问题是您实际上并没有增加casino.euro,它始终为0并被分配给tmp</p>