相关疑难解决方法(0)

如何限制Python中的并发线程数?

如何限制Python中并发线程的数量?

例如,我有一个包含许多文件的目录,我想处理所有这些文件,但是并行处理只有4个文件.

这是我到目前为止:

def process_file(fname):
        # open file and do something                                                                                            

def process_file_thread(queue, fname):
    queue.put(process_file(fname))

def process_all_files(d):
    files=glob.glob(d + '/*')
    q=Queue.Queue()
    for fname in files:
        t=threading.Thread(target=process_file_thread, args=(q, fname))
        t.start()
    q.join()

def main():
    process_all_files('.')
    # Do something after all files have been processed
Run Code Online (Sandbox Code Playgroud)

如何修改代码,以便一次只运行4个线程?

请注意,我想等待处理所有文件,然后继续处理已处理的文件.

python multithreading

5
推荐指数
1
解决办法
5640
查看次数

标签 统计

multithreading ×1

python ×1