首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

译文《Java并发编程之CAS》

这是在while-loop内部完成的。如果locked变量是false,则该lock()方法离开while循环并设置locked为true。...如果多个线程几乎同时刻访问同一个 ProblematicLock 实例,那以上的 lock() 方法将会有一些问题,例如: 如果线程 A 检查locked的值为 false(预期值),它将退出 while-loop...如果此时有个线程B在线程A将locked值设置为 true 之前也检查了 locked 的值,那么线程B也将退出 while-loop 循环执行后续的逻辑。这是一个典型的资源竞争问题。...因此,每次只有一个线程能够退出while-loop(while循环),通过调用 unlock() 方法设置 locked 为 false 使得每次只有一个线程的 CompareAndSwapLock 是解锁状态的...在这种情况下,inc()方法将在 while-loop(while循环)中进行另外一次迭代并尝试再次增加AtomicLong值。

42230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    笨办法学 Python3 第五版(预览)(三)

    练习 34:While 循环 现在让我们用一个新的循环完全震惊你,while-loopwhile-loop会持续执行其下的代码块,只要布尔表达式为True。 等等,你一直跟上术语了吗?...回到while-loop。它们的作用就像一个if语句的测试,但不同于只运行代码块一次,它们会跳回到while所在的“顶部”,并重复。while循环会一直运行,直到表达式为False。...6 19 The numbers: 20 0 21 1 22 2 23 3 24 4 25 5 dis()它 在我们代码之游戏的最终“支线任务”中,你将使用dis()来分析while-loop...学习练习 将这个while-loop转换为一个可以调用的函数,并用一个变量替换测试中的6(i < 6)。 使用这个函数来重写脚本以尝试不同的数字。

    15410
    领券