两条线程各加 30 次

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。)

bump 把「读、睡一毫秒、写」当成一次加。两条线程各加 30 次,看最后是不是 60:

import threading, time

box = {"n": 0}

def bump():
    for _ in range(30):
        tmp = box["n"]
        time.sleep(0.001)
        box["n"] = tmp + 1

ts = [threading.Thread(target=bump) for _ in range(2)]
for t in ts:
    t.start()
for t in ts:
    t.join()
print(str(box["n"] < 60) + "/" + str(box["n"] > 0))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论