gpt4 book ai didi

python - JoinableQueue.join() 阻止什么?

转载 作者:行者123 更新时间:2023-11-28 22:44:34 26 4
gpt4 key购买 nike

JoinableQueue 的文档说

join() Block until all items in the queue have been gotten and processed

我知道当我调用Process.join()Thread.join()时,当前进程或线程的执行会停止,直到进程或线程谁的加入方法我叫导出。

Process 的文档使用与 JoinableQueue

相同的语言

join([timeout]) Block the calling thread until the process whose join() method is called terminates or until the optional timeout occurs.

我能否始终将“阻塞”理解为暂停调用线程直到满足某些条件?我在文档中找不到任何确认。如果我搜索“block python”,我只会找到有关代码块或我在上面引用的相同文档的信息。

最佳答案

Python 的文档在 http://en.wikipedia.org/wiki/Process_state 的经典意义上使用“blocked”(和其他形式的相同词干“block”) -- 任何线程(或进程)都可以“正在运行”或“就绪”(但正在等待 CPU)或“阻塞”(然后在完成后“终止”)。

(特别是在 CPython 中,在给定的进程中,只有一个线程可以“运行”Python 代码,无论有多少 CPU 可用——其他线程在抽象意义上“准备就绪”实际上在内部被 Global Interpreter Lock aka GIL 阻止了——但是,这是一个实现细节,只适用于某些实现,不适用于作为语言的 Python。

关于python - JoinableQueue.join() 阻止什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29310255/

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