gpt4 book ai didi

python - python 线程和绿色线程中的 Lock 行为有什么区别?

转载 作者:行者123 更新时间:2023-12-01 05:24:28 24 4
gpt4 key购买 nike

普通Python线程和greenthread(eventlet)中的threading.Lock()threading.Semaphore()行为有什么区别吗?

最佳答案

行为上没有区别。然而,绿色线程实际上并不是一个线程,因为它在单个操作系统线程中运行所有任务,因此 threading.Lockthreading.Semaphore 的行为就好像它是从单个线程锁定和解锁。

这意味着,如果您在使用绿色线程时尝试获取锁定的锁或置零的信号量,则整个程序将永远阻塞(或直到指定的超时)。此外,RLock 只能从其锁定的同一线程中释放,因为绿色线程实际上都在同一线程上运行,因此您将能够从不同的绿色线程中释放 RLock。

简而言之,在使用绿色线程时不要使用线程锁。

关于python - python 线程和绿色线程中的 Lock 行为有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665740/

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