Python是否仅在线程执行后继续主函数?

2024-04-20 12:31:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python函数,它可以执行以下操作(非常粗糙的伪代码):

while True:

    set_up_some_variables()

    start_4_threads() 

    continue_computing()

“继续计算”任务取决于密集线程任务的输出。如何确保它只在线程全部完成后执行

我曾考虑过使用锁(即,在线程开始之前,获取4个锁,并在线程完成后释放),但这不允许我灵活处理线程数量。而且,这似乎不是一个优雅的解决方案


Tags: 函数代码truesomevariables线程startup
1条回答
网友
1楼 · 发布于 2024-04-20 12:31:29

^{}等待所有线程到达程序中的某个点,然后继续

def foo(id, var):
    print(id, var)

# Set up some variables
vars = ['a', 'b', 'c', 'd']

# Start threads
for id in range(4):
    thread.start_new_thread(foo, (id, vars[id]))

# Wait for all threads to run foo before continuing
thread.join()

print("All threads complete!")

相关问题 更多 >