2014-06-11 52 views
0

是否需要使用gthreads進行連接,還是隻需要在gthread上進行阻塞時使用連接?在gevent gthreads上是否需要連接?

顯然,這對於大多數語言的線程都是必需的,但似乎所有文檔和討論都忽略了這個要求,因此暗示它不是必需的。

回答

1

這不是必需的,但是您通常會想要某種隱式的join,否則您的程序會在產生每個greenlet後退出。

通常使用一個while True循環,該循環在greenlet運行時執行其他操作,或者在每個greenlet被終止時停止執行其他操作,從而達到類似的效果。這基本上讓greenlet在後臺運行。

產卵小綠和程序結束之間需要有某種阻塞動作,無論是join,Python構造還是對其他東西的調用。

+0

我不是指聯接作爲阻止機制。我正在討論使用它們進行必要的清理。由於greenlet不是內核級資源,因此加入它們似乎並不是必須的。這聽起來像你同意。 –

+0

@DustinOprea你是對的,沒有必要清理它們。當Python解釋器停止時,所有greenlet將會死掉。 – Anorov

相關問題