场景:

我有一个非常大的数据库模型迁移正在进行新的构建,我正在研究如何将Web应用程序中的当前实时数据迁移到本地测试数据库中.

我想在python中设置一个脚本,它将同时处理我的模型的迁移.我的模型实例有from_legacy和to_legacy方法.到目前为止,我加载了所有实例并为每个实例创建了线程,每个线程都从核心线程模块子类化,并使用run方法进行转换并保存结果.

我想让程序中的主循环构建这些线程的一大堆实例,并开始逐个处理它们,在它工作时同时运行最多10个,然后将下一个进行处理当其他人完成迁移时处理.

我无法弄清楚如何正确利用队列来做到这一点?如果每个线程代表完整的迁移任务,我应该先加载所有实例,然后创建一个maxsize设置为10的队列,并且只跟踪当前正在运行的队列吗?也许这样的事情?

currently_running = Queue()

for model in models:

task = Migrate(models) #this is subclassed thread

currently_running.put(task)

task.start()

在这种情况下,依赖于put调用阻塞它的容量?如果我要走这条路,我怎么称呼task_done?

或者更确切地说,如果Queue包含所有任务(不仅仅是已启动的任务)并使用join来阻止完成?在线程队列上调用join是否会启动包含的线程?

什么是最好的方法来处理“最多有N个运行线程”问题以及Queue应该扮演什么角色?

python主线程执行_Python队列 – 最多运行n个线程相关推荐

  1. python主线程执行_python 并发执行之多线程

    正常情况下,我们在启动一个程序的时候.这个程序会先启动一个进程,启动之后这个进程会拉起来一个线程.这个线程再去处理事务.也就是说真正干活的是线程,进程这玩意只负责向系统要内存,要资源但是进程自己是不干 ...

  2. python主线程执行_在Django vi中的主线程中执行Python函数

    我创建了Django视图"graph",目的是显示从matplotlib.pyplot模块.我编写了我的函数plot\u bubbles(返回amatplotlib.figure. ...

  3. iOS 主线程和主队列

    先说结论, 主队列的任务只在主线程中被执行的,而主线程运行的是一个 runloop,不仅仅只有主队列的中的任务,还会处理 UI 的布局和绘制任务, 同时还可能会有其他队列中的任务. 举个例子 问题1: ...

  4. DLL内线程同步主线程研究(子线程代码放到主线程执行)

    DLL内线程同步主线程研究(子线程代码放到主线程执行) 我们在实际项目中经常会用到多线程编程,比如Socket编程等,在创建的线程内同步主线程一般使用Synchronize方法实现子线程操作放到主线程 ...

  5. C#多线程下, 子线程如何让主线程执行方法

    C#多线程下, 子线程如何让主线程执行方法 重现一下当时我的需求: 我开了多个线程, 来监视一个变量, 然后去执行一些方法. 看起来没什么毛病, 但是运行起来会报错 此对象被其他线程占用 一开始想着可 ...

  6. Android 避免主线程执行网络请求之Activity/Fragment 结束后处理异步回调

    大家都知道Android涉及到与UI相关的操作只能在主线程执行 android4.0以后就禁止在主线程进行网络请求了,在主线程里面执行Http请求都会报NetworkOnMainThreadExcep ...

  7. Unity C# 子线程Action发送到主线程执行

    今天去面试..面试官竟然说子线程的Action不能发送到主线程执行... ...废话不说上干货 using System.Collections; using System.Collections.G ...

  8. Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次

    近在学习多线程,特贴在这里,并附上自己所作答案(参考与张孝祥老师的方法). 题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50 ...

  9. 多线程学习--案例-子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次

    子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序. package Demo4; public class ThreadTe ...

最新文章

  1. JAVA GUI关闭按钮不起作用(用SwingWorker解决)
  2. web端ios布局fixed元素软键盘唤起时fixed失效
  3. android file.createnewfile ioexception
  4. boost::contract模块实现是否constexpr的测试程序
  5. lstm中look_back的大小选择_基于机器学习检测僵尸网络中的域名生成算法
  6. mysql查看主键别名_MySQL怎么查看约束的别名呢?
  7. 从零开始学Pytorch(十四)之优化算法进阶
  8. Linux学习总结(74)——wget 命令详解
  9. SaveRasterFile failed: IDLnaMetadata Error:naGetMetadata-GetMetadataJob failed
  10. c语言所有逻辑符号大全,C语言中的逻辑取反是“~”符号吗逻辑或是“|”符号吗?...
  11. 小程序云开发(二) 上传图片到云服务器、上传图片并展示
  12. 【Rust日报】 2019-04-28
  13. 数字图像处理(1)——认识数字图像
  14. Python编曲实践(二):和弦的实现和进行
  15. 年中团建之军训-回顾
  16. 后量子密码(PQC)决赛入围算法和候选算法
  17. 翻译:《JavaScript 权威指南(第5版)》第一章(一)
  18. 中小型项目请求限流设计
  19. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法
  20. 2.3 从外部置入图片 [Ps教程]

热门文章

  1. 爬虫 spider02——详析http
  2. leetcode 43. Multiply Strings | 43. 字符串相乘(Java)
  3. 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统
  4. 【PAT甲级 LinkedHashMap】1041 Be Unique (20 分) Java、C++版
  5. 为什么操作系统会有随机性
  6. C++实现字符串分割函数split()
  7. Leecode-198. 打家劫舍——动态规划(C++)
  8. 城市间紧急救援 (25 分)【dijkstra模板 超时原因】
  9. 【测试点分析】1104 Sum of Number Segments (20 分)
  10. 百度地图标点点击变色_《和平精英》版本爆料第三弹:雪地洞穴开启!组队标点功能升级~...