Python线程同步

发布于 2024-10-21 09:26:33 字数 371 浏览 1 评论 0原文

我有 3 个任务:t1、t2 和 t3。 我想在两个并行线程中运行 t1 和 t2。我想等待 t1 和 t2 执行结束后再运行 t3。

t1 =========> |
t2 ====>         |
t3......................|=======>
-------------------------------------------------- -----------(时间)-->

我对线程同步有一些基础,但我不知道如何管理这种情况。 python 库中是否有任何内置解决方案,我是否必须编写自己的(基于信号量?)解决方案?

I have 3 tasks : t1, t2 and t3.
I want to run t1 and t2 in two parallels threads. And I want to wait for the end of t1 and t2 execution before running t3.

t1 =========> |
t2 ====>           |
t3......................|=======>
-------------------------------------------------------------(time)-->

I have some basis about threads synchronization but I can't find out how to manage with this case.
Is there any build-in solution in python library did I have to write a my own (semaphore based ?) solution ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

没︽人懂的悲伤 2024-10-28 09:26:33

您可以使用 join

# start the two threads
t1.start()
t2.start()

# wait until both ended
t1.join()
t2.join()

# then start the third
t3.start()

You can wait on threads with join:

# start the two threads
t1.start()
t2.start()

# wait until both ended
t1.join()
t2.join()

# then start the third
t3.start()
花开半夏魅人心 2024-10-28 09:26:33

我建议您查看模块 threading 。它提供锁定对象条件对象信号量对象

I would advise you to have a look at the module threading. It provides lock objects, condition objects and semaphore objects.

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