因為昨天的FileSystem提到了同步與異步(或稱非同步),所以今天的主題就是這個了。
阻塞與非阻塞
阻塞與非阻塞主要是描述請求在等待結果時的狀態
假設今天有一個請求要讀取檔案,但是今天這個檔案被請求時是不可讀取的狀態。
如果設計是阻塞的,那麼這個請求便會進入等待狀態,直到它終於讀取到這個檔案,或者是等待久不想等了,才會換下一個。
如果設計是非阻塞的,那麼這個請求會因為檔案不能不讀取而立刻返回,不會在那邊乾等,而是去做其他事情,然後過一定時間再回來看檔案可不可以讀取,然後一直重複,直到檔案可以被讀取為止。