在单个python进程中混合绿色线程和本机线程是否安全?

首先,将绿色事件(例如eventlet或gevent)与标准库中的python本机线程(即Lib / threading.py)在同一python进程中混合是否安全?

其次,如果安全的话,这是一个坏主意吗?

解决方法:

使用gevent< 1.0这很可能是个坏主意,因为libevent不是线程安全的.如果您确保OS线程永远不会与libevent交互,您可能会好起来的……但这可能很棘手,并且由于libevent缺乏线程安全性而导致的错误听起来并不像调试的乐趣. 但是,gevent> = 1.0使用libev,这是完全线程安全的.因此(据我所知),混合绿色线程和OS线程没有问题.

上一篇:AT2167 [AGC006F] Blackout


下一篇:为什么在spawn_n之后eventlet GreenPool不能调用func,除非waitall()?