1. 程式人生 > >簡單理解什麼是同步阻塞/同步非阻塞,非同步阻塞/非同步非阻塞

簡單理解什麼是同步阻塞/同步非阻塞,非同步阻塞/非同步非阻塞

簡單理解什麼是同步阻塞/同步非阻塞,非同步阻塞/非同步非阻塞

舉個栗子

1、你在家做飯,用普通的湯鍋,米放進去,就站在鍋邊,傻等飯熟。——這叫同步阻塞
是不是覺得浪費了大量的時間,於是你想提高時間的利用效率。
2、還是用普通的湯鍋,米放進去,然後繼續回去打遊戲,過一會就來看一次。——這叫同步非阻塞
時間的利用率稍微提升了一點點,還有沒有辦法再提升一點呢?

3、你去某寶淘了個電飯鍋,飯熟了會自動跳閘的那種。米放進去,然後傻傻的看它怎麼做飯的。——這叫非同步阻塞
這有什麼意義呢?完全沒利用好電飯鍋的優勢啊
4、這回學聰明瞭,米放進去,按下按鈕,然後就去打遊戲了,等到跳閘的時候就去吃飯 。——這叫非同步非阻塞
這樣是不是聰明瞭很多,時間的利用率大大提升。

相對於程式而言的 ,非同步可以給你節省出更多的時間,讓你去幹別的事,同步只能由你自己主動去檢視。
孰優孰劣不言而喻 。
阻塞和非阻塞,也很好理解。
同步阻塞,順序執行,只能傻等,效率低下 。
同步非阻塞,稍微高明點,但是麻煩了很多,多做很多無用功。
非同步阻塞,這個等於自斷一臂,沒啥大意義。
非同步非阻塞,這才是非同步的最佳用法。