Dav*_*son 3 python multithreading green-threads gevent eventlet
首先,将绿色线程(如eventlet或gevent)与标准库中的python本机线程(即同一个python进程中的Lib/threading.py)混合是否安全?
其次,如果它是安全的,这是一个坏主意吗?
因为gevent < 1.0它libevent不是线程安全的,所以很可能是一个坏主意.如果你确保操作系统线程永远不会与之交互,你可能会没事libevent......但是这可能很棘手,并且libevent由于缺乏线程安全而导致的错误并不像调试那么有趣.
但是,gevent >= 1.0使用libev,完全是线程安全的.所以(据我所知)混合绿色线程和OS线程没有问题.