理解阻塞,先從耗時操做講起,常見的場景好比用戶輸入、等待(sleep)這些都屬於,
具體到實際項目中好比說發郵件、發短信、機器/深度學習訓練模型、自動化測試中的各類操做流程等待都會產生耗時,
耗時操做一般咱們也會稱之爲阻塞,意思就是程序一行一行代碼執行,你這些耗時操做沒執行完畢,後面的代碼就不會執行,阻塞了後面的代碼執行
理解了阻塞之後,就很容易引出一個問題?我若是想提升程序執行效率不讓程序阻塞,那該怎麼辦?html
有沒有一種方式,能在程序阻塞的時候,不影響我後面代碼的執行?編程
通常來講,咱們能夠用線程、進程、協程,都是能夠實現的,只不過在實際項目中,
有成熟開源而且普遍應用的的東西,咱們會用框架,而不去手寫多線程、進程、協程,也不是說這些不用去學,
這是編程的基本知識,也是必須掌握的,很能體現編程基本功底
還能夠參考:http://www.javashuo.com/article/p-fxtawadl-cb.html也挺好的框架