只是看了入門指南,和一個翻譯文檔。寫一下我的讀書心得。git
其實看完以後,第一個反映就是asyncio
這個系統庫,感受gevent
如今所作的一些事情是與asyncio
很像的,可是他本身有一個很是可怕的黑科技,就是monkey
補丁。github
使用gevent
的過程能夠簡單地歸納爲,將一個任務(函數)放到gevent.spawn()
中,將它變成Greenlets
類,這一步我的感受是與asyncio
中,將一個函數變成future
類或者task
類是一個做用,而後就阻塞到所有註冊的任務完成。在這個過程當中,這些任務會同時執行,也就是併發。而後gevent
也是提供了各類相似threading
的接口,和數據結構。數據結構
至於黑科技monkey
,就是直接替換了系統庫,將系統庫變成支持協程的,好處就是,只要導入這個,整個程序就支持協程了,不過最大的問題就是,這是個黑箱操做,在調試方面多是個噩夢。併發
而我爲何要用gevent
呢,由於我要用gunicorn
,一開始我覺得gunicorn
的異步模式會很麻煩,要改不少東西,而後我就發現,只須要在gunicorn
的配置文件中,打上monkey
補丁,而後工人類型設爲gevent
,就能夠了,沒錯,就是這麼簡單暴力。異步