python-3.x - threading.Lock 实际上是如何工作的?(有多种场景)
问题描述
我在网上查看并通过stackoverflow和互联网搜索了一些关于锁的信息,我似乎只是大致了解当锁处于活动状态时另一个线程不能使用它?
我有多个共享对象在整个脚本中不断被读取/写入,但我仍然不能 100% 确定锁定功能是如何工作的?什么时候需要使用它,什么时候不需要使用它,是否值得为每个共享变量/对象创建单独的锁?
当一个线程调用一个锁时,这是否意味着其他线程只会在最初调用锁的脚本的特定部分暂停,或者它是否以某种方式确认在整个脚本中停止读取/写入获取/释放函数调用中的任何变量?
如果我为每个共享变量/对象专门设置了多个锁并且调用了一个锁函数,这是否也会影响其余的锁?
我想总结一下,我正在努力理解锁定的“深入”版本,只能在以前的在线解释中找到一般概述。
解决方案
推荐阅读
- javascript - 如何安全地深入物体
- typescript - 如何在 Cypress 6.0 之前恢复 cy.wait() 类型以返回 XMLHttpRequest
- javascript - react js中带参数调用回调的最佳实践
- installation - 在 wix 安装程序上应用转换时出错
- gcc - googletest 在使用 cmake / gcc 10.2 重新编译时失败
- html - 为什么当我使用状态代码 200 渲染我的页面时会显示原始 Html 代码?
- c# - 仅使用 async/await 时是否存在竞争条件?
- c - Doxygen 不一致地扩展 C 宏
- excel - 将列表与函数进行比较,并且之间没有空单元格
- javascript - 如何在 html 表格中添加单元格并检查重复项,而不进入以下循环?