Eventlet Greenlet

Eventlet是一個用來處理和網絡相關的python網絡庫,並且能夠經過協程來實現併發,在eventlet裏,把「協程」叫作greenthread。python

所謂併發,就是開啓了多個greenthread,而且對這些greenthread進行管理,以實現非阻塞式的I/O。網絡

關於協程,大體能夠理解成容許子程序能夠屢次暫停和恢復執行,是實現多任務的一種有效手段,多線程

Eventlet的基礎是greenlet,這是實現"協程(Coroutine)" 的基礎。併發

協程又被稱做 "微線程「,簡單點說就是在一個原生線程上經過"拷貝"和"切換" 堆棧幀數據來實現執行多個工做,高併發

看上去和傳統的"單CPU,多線程(Threading)"執行方式差很少。spa

在 Python 中,使用協程來作併發是對於系統資源消耗最小,能夠最大化的作高併發,可是,須要咱們本身來作調度,操做系統不會主動調度任務。操作系統

相關文章
相關標籤/搜索