gpt4 book ai didi

multithreading - 为什么我们需要锁才能重入?

转载 作者:行者123 更新时间:2023-12-03 13:16:06 25 4
gpt4 key购买 nike

我了解(某种程度上)jdk 5 ReentrantLock here的功能

但是为什么我们要一个“重新进入”的锁呢?即如果一个线程已经在一个对象上拥有锁,为什么它需要再次获取它?

最佳答案

考虑这个理论示例:在更新GUI列表框中的某些项目时,您正在使用锁来保护某些后端数据。您循环浏览并修改项目。在执行此操作时,列表框会触发一个您注册了处理程序的事件(也许是Selection Changed事件或类似的事件)。该处理程序还锁定相同的锁,以便处理新项目。如果锁不是递归的,则该线程将在第二次尝试获取锁时死锁。

关于multithreading - 为什么我们需要锁才能重入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com