2021-12-29 python 生产者消费者

import csv
import os
import shutil
from os import getenv
import pandas as pd
from mfg_core import *
from multiprocessing import JoinableQueue, Process


def producer(q):
    for root, dirs, files in os.walk("work", topdown=False):
        for name in files:
            file = os.path.join(root, name)
            logger.info(f'生产了一个file: {name}')
            q.put(file)
    q.join()


def consumer(q):
    while True:
        file = q.get()
        logger.info(f'获得了一个file: {file}')
        q.task_done()

logger = logging.getLogger(__name__)

if __name__ == '__main__':
    jq = JoinableQueue()
    p = Process(target=producer, args=(jq,))
    p.start()
    for i in range(7):
        c = Process(target=consumer, args=(jq,))
        c.daemon = True
        c.start()
    p.join()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容