首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何才能使一次只有一个线程可以查看本地json文件?

如何才能使一次只有一个线程可以查看本地json文件?
EN

Stack Overflow用户
提问于 2020-06-27 07:19:17
回答 1查看 24关注 0票数 0

嗨,我目前正在开发一个项目,大纲如下

3-10个selenium浏览器每个浏览器监视相同的queue.json文件如果queue.json文件中包含某些内容,则其中一个selenium浏览器需要获取url

目前,此python脚本使用python shell连接到一个简单的electronjs GUI,当我单击按钮时,该gui运行一个异步函数,该函数打开selenium浏览器,然后在监控queue.json文件的while True循环中循环

问题是,当我向queue.json文件添加某些内容时,多个selenium浏览器将在浏览器从队列中删除项之前从队列中选取相同的项

有没有办法让queue.json一次只能被一个浏览器访问?

EN

回答 1

Stack Overflow用户

发布于 2020-06-27 07:26:16

使用Lock

锁允许您从多个线程访问数据,而无需同时访问所有线程。当一个线程持有锁时,其他线程不能使用它,直到初始线程释放锁为止。

代码语言:javascript
运行
复制
from threading import Lock

l = Lock()

with l:
    # access json queue

使用python的Queue

您可以将数据放在python的threading.Queue中;它是线程安全的

代码语言:javascript
运行
复制
from threading import Queue
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62604150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档