gpt4 book ai didi

python - 拥有一个可供所有线程使用的全局队列(或列表)

转载 作者:行者123 更新时间:2023-11-28 22:43:34 25 4
gpt4 key购买 nike

我想编写一个脚本,该脚本通过 Internet 消耗数据并将每 n 秒提取的数据放入队列/列表中,然后我将在开始时创建 x 个线程将在数据添加到队列时获取和处理数据的脚本。我的问题是:

  1. 我如何在我的脚本中创建这样一个全局变量(列表/队列),然后我的所有线程都可以访问它?
  2. 在我的线程中,我计划检查队列中是否有数据,如果有则检索该数据,释放锁并开始处理它。一旦线程完成任务,回到开始并继续检查队列。如果队列中没有数据,则 sleep 指定的时间,然后再次检查队列。

最佳答案

你可以定义一个Queue并将其传递给多个线程:

from threading import Thread
from Queue import Queue

def task(queue):
while True:
item = queue.get() # blocks until an item is available
# process item

queue = Queue()
t = Thread(target=task, args=(queue, ))
t.daemon = True
t.start()

关于python - 拥有一个可供所有线程使用的全局队列(或列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581807/

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