gpt4 book ai didi

python - 为什么.join()方法在线程模块中被称为.join()?

转载 作者:行者123 更新时间:2023-12-01 09:21:35 29 4
gpt4 key购买 nike

这是一个相当愚蠢的问题……但它却让我烦恼不已。在threading模块中,我们有一个Thread.join()方法。我知道它会阻塞调用线程,但为什么 .join() 被称为“join”?为什么它不被称为 main_thread_waitblock_parent_thread 或类似的东西?

每次看到 .join() 时,我都感觉子线程正在加入某些内容来完成计算。选择这个特定关键字作为方法名称是否有某种原因?

最佳答案

这个名字比Python还要古老。它在 POSIX 线程库 (libpthread) 中显示为 pthread_join() (使用“pthread”前缀是因为 C 没有命名空间)。然而,对于进程级并发,PythonPOSIX使用名称wait()

pthread 库的其他部分确实使用术语等待,但通常用于更高级别的同步原语,例如 pthread_barrier_wait()pthread_cond_wait() 。我想 pthread_wait() 在“等待[某个同步对象]”和“等待线程终止”之间会含糊不清。

关于python - 为什么.join()方法在线程模块中被称为.join()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50765460/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com