Discuss / Python / import time, threading # 假定这是你的银行存款: balance = 0 def change_it(n): # 先存后取,结果应该为0: global b

import time, threading # 假定这是你的银行存款: balance = 0 def change_it(n): # 先存后取,结果应该为0: global b

Topic source

为什么我执行Lock那边的那段代码,输出的是0

木尐白

#2 Created at ... [Delete] [Delete and Lock User]

你需要多次尝试,会出现几次不是0的情况

IceWeet

#3 Created at ... [Delete] [Delete and Lock User]

你在循环次数后面多加一个0试试,如果不行就再加一个,就很容易出现非0的情况了

难道结果不应该是0吗,不是都lock了吗,每次一加一减的,不是0吗?

均分粑粑

#5 Created at ... [Delete] [Delete and Lock User]

对啊,加锁后不是0是什么?

牛人QW伟

#6 Created at ... [Delete] [Delete and Lock User]

在整体代码外面再嵌套一层循环,就能看出效果了


  • 1

Reply