Category程式觀念

同步(Synchronous)、異步(Asynchronous)、阻塞(Block)、非阻塞(Non-block)

因為昨天的FileSystem提到了同步與異步(或稱非同步),所以今天的主題就是這個了。

阻塞與非阻塞

阻塞非阻塞主要是描述請求在等待結果時的狀態

假設今天有一個請求要讀取檔案,但是今天這個檔案被請求時是不可讀取的狀態。

如果設計是阻塞的,那麼這個請求便會進入等待狀態,直到它終於讀取到這個檔案,或者是等待久不想等了,才會換下一個。

如果設計是非阻塞的,那麼這個請求會因為檔案不能不讀取而立刻返回,不會在那邊乾等,而是去做其他事情,然後過一定時間再回來看檔案可不可以讀取,然後一直重複,直到檔案可以被讀取為止。

Continue reading

OOP 物件導向程式設計筆記(一)

寫程式的基本觀念肯定少不了物件導向,雖然以前大學的時候就碰過了,但是沒有特別去複習也早就忘光了,這次來依照五大原則:S.O.L.I.D,依序筆記物件導向的重點觀念,因為我猜我今天打不完,而且也希望能夠多一點時間理解,所以這會是系列文的第一篇,一樣,有錯誤的地方歡迎指教喔!

Continue reading