当前位置: 首页 > 面试题库 >

Python:有什么方法可以使一个进程具有写锁,而其他进程只能并行读取?

蓬祺
2023-03-14
问题内容

假设我有一个包含键值的字典,其中值是一个带锁的对象。每个进程都需要获得锁才能修改特定的对象,但是字典中的键是稳定的。

现在,正如我之前说过的,如果要(不经常)向新对象添加新密钥,有没有一种方法可以使用锁定,该锁定将在我将密钥添加到字典时将其他进程排除在访问对象之外?

这样做的原因是,当字典不太可能在同一对象上运行时,我看不出使字典对所有进程都专用的意义,因此只有这些对象需要等待。当我修改字典的完整性时,我想阻止每个进程访问它,但同时,我希望他们能够并行访问它。

请问我不清楚。


问题答案:

我发现这些html" target="_blank">python版本的Reader writer锁

Python的读写器锁

具有作者优先级的Reader-
Writer锁定(Python配方)



 类似资料:
  • 问题内容: 我正在将Xcode7和Swift与Storyboards一起使用。当我打开LaunchScreen.storyboard并尝试在其上设置自定义类时,Xcode抱怨一个人不能在LaunchScreen故事板上拥有自定义类。所以我的问题是,有什么方法可以对LaunchScreen进行编程编码,因为我想避免使用IB在其上拖放元素。 问题答案: 否, 在 您的应用开始执行 之前 会显示启动屏幕

  • 主要内容:孤儿进程,僵尸进程,守护进程到目前为止,我们已经讨论和学习了进程,创建,父进程和子进程等。但是没有讨论其他相关进程,如孤儿进程,僵尸进程和守护进程,在本节中,我们来看看这些进程。 孤儿进程 如名字所示,孤儿进程表示无父进程。 当我们运行程序或应用程序时,应用程序的父进程是shell。 当使用创建一个进程时,新创建的进程是子进程,创建是父进程的子进程。 反过来,这个父进程就是。 当然,所有进程的父进程是初始()进程(进程ID等

  • 问题内容: 如果输入大小太小,则库会自动序列化 流中地图的执行,但是这种自动化不会并且也不会考虑地图操作的繁重程度。有没有办法 强制parallelStream()实际并行化CPU重映射? 问题答案: 似乎存在根本的误解。链接的“问答”讨论了由于OP没有 看到预期的加速,流显然不能并行工作。结论是,有没有好处在 并行处理工作负载是否太小,不,有一个自动回退到顺序执行。 实际上是相反的。如果您请求并

  • 问题内容: 实际的UID,有效的UID,以及某些系统甚至具有“已保存的UID”。所有这些的目的是什么,尤其是最后一个? 问题答案: 每个UNIX进程都有3个与之关联的UID。超级用户特权是UID = 0。 真实的UID 这是创建此流程的用户/流程的UID。仅当正在运行的进程的EUID = 0时才可以更改。 有效的UID 此UID用于评估执行特定操作的进程的特权。如果EUID!= 0,则可以将EUI

  • 问题内容: 说我有一个全局对象: 有一个线程定期运行以从远程获取新编号并更新(仅写入): 并且有一个或多个线程随机使用此全局变量(仅读取): 您可以看到我不使用任何锁或对其进行保护,对吗?是否有可能引起问题的潜在问题? 更新: 就我而言,读取线程必须实时获取最新的值并不是很重要。我的意思是,如果有任何问题(由于缺少锁定/同步而导致)使一个读取线程错过了该值,那就没关系了,因为它将有机会尽快运行相同

  • 本文向大家介绍请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的相关面试题,主要包含被问及请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 基本概念: 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程是进程的子任务,是C