从记录里认出丢更新

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

给真机上的计数器加了打印,每一步记一行。数一数记录里「两条线程读到同一个值」发生了几次(每个值算一次):

log = ["T0 read 0", "T1 read 0", "T0 write 1", "T1 write 1", "T0 read 1", "T0 write 2", "T1 read 2", "T0 read 2", "T1 write 3", "T0 write 3", "T1 read 3", "T1 write 4"]
reads = {}
for line in log:
    t, op, v = line.split()
    if op == "read":
        reads.setdefault(v, set()).add(t)
dup = [v for v in sorted(reads, key=int) if len(reads[v]) > 1]
print(str(len(dup)) + "/" + ",".join(dup))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论