首页 > 解决方案 > threading.Lock 实际上是如何工作的?(有多种场景)

问题描述

我在网上查看并通过stackoverflow和互联网搜索了一些关于锁的信息,我似乎只是大致了解当锁处于活动状态时另一个线程不能使用它?

我有多个共享对象在整个脚本中不断被读取/写入,但我仍然不能 100% 确定锁定功能是如何工作的?什么时候需要使用它,什么时候不需要使用它,是否值得为每个共享变量/对象创建单独的锁?

当一个线程调用一个锁时,这是否意味着其他线程只会在最初调用锁的脚本的特定部分暂停,或者它是否以某种方式确认在整个脚本中停止读取/写入获取/释放函数调用中的任何变量?

如果我为每个共享变量/对象专门设置了多个锁并且调用了一个锁函数,这是否也会影响其余的锁?

我想总结一下,我正在努力理解锁定的“深入”版本,只能在以前的在线解释中找到一般概述。

标签: python-3.xmultithreadinglockingpython-multithreading

解决方案


推荐阅读