python多线程如何实现一个任务调度
我有如下数据要处理,每一个case代表一个任务列表,step代表一个特定的操作步骤,每个case的step数据不一样,job代表一个定时任务而且处理时间比较长,step1、step2执行完之后都需要执行job1。如何使用多线程处理这样的数据,然后处理到每个case的时候遇到job1这个任务当前线程就挂起,然后等所有case处理到job1的时候只调用一次job1,等job1执行完之后线程继续往下执行?
case1:step1 step2 job1 step3 step4 job2 step5 -->存在多个job
case2:step1 step2 job1 step3 step4 step5 job2 step6
case3:step1 step2 step3 -->no job
caseN
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的场景适合使用信号量同步 threading.Semaphore
-- update 2019.2.27
刚知道 python3.2 引入了threading.Barrier, 这个就像POSIX C中pthread的barrier,更适合你的场景,这有个简单例子:https://blog.csdn.net/u013346...