python多线程如何实现一个任务调度

发布于 2022-09-11 17:06:54 字数 496 浏览 36 评论 0

我有如下数据要处理,每一个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疧_╮線 2022-09-18 17:06:54

你的场景适合使用信号量同步 threading.Semaphore

-- update 2019.2.27

刚知道 python3.2 引入了threading.Barrier, 这个就像POSIX C中pthread的barrier,更适合你的场景,这有个简单例子:https://blog.csdn.net/u013346...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文