如何在p中测试

时间:2018-06-19 07:44:28

标签: p

我正在学习如何在p中测试线程,因为我以前从未这样做过。我已经锁定但是它说我有一个断言错误,这很好。我想知道以下代码是否正确

1 个答案:

答案 0 :(得分:1)

您的问题是您在每次迭代时都会创建一个新锁,它始终处于解锁状态。

这样它就可以工作,因为你的线程会尝试获取相同的锁。

import threading

i = 0

lock = threading.Lock()

def test():
    global i
    for _ in range(100000):
        with lock:
            i += 1

threads = [threading.Thread(target=test) for t in range(10)]
for t in threads:
    t.start()

for t in threads:
    t.join()

print(i)