下面是一个简单的Python多线程读取队列中数据的示例代码:

import queue
import threading
import time

def worker(q):
    while True:
        item = q.get()
        if item is None:
            break
        print(f"Processing {item}")
        time.sleep(1)
        q.task_done()

if __name__ == '__main__':
    q = queue.Queue()
    for i in range(5):
        q.put(i)

    threads = []
    for i in range(3):
        t = threading.Thread(target=worker, args=(q,))
        t.start()
        threads.append(t)

    q.join()

    for i in range(3):
        q.put(None)

    for t in threads:
        t.join()

该代码创建一个Queue对象,然后往里面放入一些数据。接着创建了三个线程,每个线程都会从队列中读取数据并进行处理。当队列中没有数据时,线程会阻塞等待。当所有数据都被处理完毕后,主线程调用了Queue对象的join()方法,等待所有线程结束。最后主线程往队列中放入了三个None对象,让每个线程都退出循环,结束运行

python 多线程读取队列中的数据

原文地址: http://www.cveoy.top/t/topic/fqm1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录