Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使python线程依赖于另一个线程的完成?_Python_Multithreading - Fatal编程技术网

如何使python线程依赖于另一个线程的完成?

如何使python线程依赖于另一个线程的完成?,python,multithreading,Python,Multithreading,基本上,我希望发出15000个get请求,格式为get www.somewebsite.com/archive/1、www.somewebsite.com/archive/2,并在本地将内容写入自己的文件。但按顺序完成所有这些需要一点时间。并且使用自己的线程执行这些操作会导致各种IO和HTTP错误。但如果我一次说50,效果很好。我想做的是创建一个区块线程,我从中生成50个线程,然后在该线程完成后生成另一个区块线程。但我还没有找到一个方法来做到这一点 我需要一种说“在这个线程完成之前不要再执行任何

基本上,我希望发出15000个get请求,格式为get www.somewebsite.com/archive/1、www.somewebsite.com/archive/2,并在本地将内容写入自己的文件。但按顺序完成所有这些需要一点时间。并且使用自己的线程执行这些操作会导致各种IO和HTTP错误。但如果我一次说50,效果很好。我想做的是创建一个区块线程,我从中生成50个线程,然后在该线程完成后生成另一个区块线程。但我还没有找到一个方法来做到这一点

我需要一种说“在这个线程完成之前不要再执行任何行”的方法,或者一种将异步执行的线程按顺序排队的方法。

“您需要在脚本末尾使用线程对象的join方法。”

这一点已由秘书长说明


您可能还想看看multiprocessing类。

Python有一个内置库,允许您使用队列实现简单的批处理

import multiprocessing

static_input = range(100)
chunksize = 10

def work(item):
    return "Number " + str(item)

with multiprocessing.Pool() as pool:
    for out in pool.imap_unordered(work, static_input, chunksize):
        print(out)