Python 多线程队列

标签 python multithreading python-3.x queue

import threading
from queue import Queue



print_lock = threading.Lock()
def job(worker):
    with print_lock:
        with open('messages.txt') as f:
            for line in f:
                print(line)

def reader():
    while True:
        worker = q.get()
        job(worker)
        q.task_done()

q = Queue()

for x in range(10):
    t = threading.Thread(target=reader)

    t.daemon = True
    t.start()


for worker in range(1):
    q.put(worker)

q.join()

所以我想要的是每个线程读取不同的消息,

最佳答案

队列是线程安全的
所以,不需要线程锁

关于Python 多线程队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45369128/

相关文章:

python - python中具有相同键的字典

python - 如何在 Python 中的同一个图上绘制两个不同的间隔时间序列

java - 如何使用线程根据相机位置生成地形而不会出现突然的延迟?

c# - 为什么(或不是)在构造函数中设置字段是线程安全的?

python - 在 Python 2.x 与 Python 3.x 中将字符串编码为 Base64

python - 根据 key 的多个值之一对字典进行排序

multithreading - QT:QFileSystemModel _q_fileSystemChanged 插槽在 UI 线程上执行,这与文档相矛盾

php - 有没有办法在 Python 中动态替换正则表达式?

python - 当级别设置为logging.DEBUG时,为什么log.debug()不记录日志?

python - 我正在尝试制作一个文件删除程序