2012-03-09 69 views

回答

5

使用gevent < 1.0这很可能是个坏主意,因为libevent不是线程安全的。如果你确保该操作系统线程从未与libevent交互时,您可能是正确的......但是,这可能是棘手的,和错误造成的libevent的缺乏线程安全的不健全,像任何乐趣的调试。

然而,gevent >= 1.0使用libev,这完全是线程安全的。所以(据我所知)混合绿色线程和操作系统线程没有问题。

-1

GEVENT线程提供monkey patching abilities

Greenlets只有一个线程内切换到海誓山盟,让一个线程的greenlets将完全从其他的独立和隔离。

,直到你已经证明我不会建议使用greenlets的多线程,你有性能需要这么做。

+0

我想为什么它不是一个好主意的一些解释是在这里丢失。 – 2012-03-11 17:00:30

+0

@NiklasB。也许是因为多线程永远是混淆和难以追踪错误的可能来源。所以如果你没有从多线程中得到任何东西(或者很少),最好避免它。 – sloth 2012-06-12 07:11:10