2012-03-09 30 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