python - 如何在Python中完成线程的功能之前使其保持事件状态?

标签 python multithreading file download

我是多线程的新手,在python中编写了代码,该函数从列表中创建一个pop元素,然后将其下载,我正在使用线程来下载多个文件。问题是线程在下载完全完成之前就死了并且代码结束了(下载不完整的文件):
这是线程代码(下载功能运行良好,只有线程有问题):

for i in range(0, 6):
    time.sleep(10)
    name = list.pop(0)
    _thread.start_new_thread(func_download,
                             (name, bucket_name, list, repo_name))
time.sleep(10)

最佳答案

如果这是实际任务,请尽可能避免手动线程处理。
对于您的特定情况, ThreadPoolExecutor.map 完全可以满足您的需求。
如果您需要更精细的控制–看看queues,这是更好的同步元素。

关于python - 如何在Python中完成线程的功能之前使其保持事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63901056/

相关文章:

java - FileOutputStream 打开一个新文件并在创建时删除内容

java - 以不同的方式将数据显示到 jtable 中

python - 将通用字体方案应用于 wxPython 中的多个对象

python - PyQt 中嵌入的 Matplotlib 交互式图形

java - 线程间共享数据和强制锁

java - 使 Bloch 的构建器模式线程安全 : Rechecking necessary in enclosing constructor if NEVER invalid?

python - FeinCMS 只允许每个页面对象使用一次内容类型

python - 尝试使用 pip 在 ubuntu 12.04 上安装 pymssql

java - 如何在一定时间内定期运行作业

java - 打开一个二进制文件并打印该文件中的所有 ASCII 字符