因為小明不及格,回家要被媽媽打~~~~~
以上情境,如果我們把它翻譯成程式來撰寫,哪邊屬於同步?哪邊屬於非同步?
之所以會想到這段故事,是因為和同事聊天時提到的,我們多多少少都寫過、看過相關程式或邏輯,但是如果你要解釋或說明時,要怎麼解釋給一個完全不懂的人聽呢?通常我們會貼了一大堆語法來說明,再不然就像網路上一堆說著專有名詞的文章,看完了其實只有"啊?"的感想,如果要你再說明給別人聽,同事說:仔細想想還真不知道怎麼講耶?
好了,回到剛剛的問題,哪邊屬於同步與非同步呢?其實整串文仔細想想,很多地方都可以扯到,不過我只針對兩個大項來說:
- 小明寫了40分鐘考卷,而老師則坐在講臺旁等著。
- 小明和同學打網咖,而老師在改考卷。
這兩個情境中
(1)應該就屬於同步類的等待,因為對老師來講,我要進行下一步的資源,也就是改考卷所需要的考卷,還在小明那邊,我必需要等小明寫(處理)完,才有辦法進行。
(2)則應該屬於非同步的處理,因為對小明來講,小明想要知道的是我最後考完試之後的結果與分數,但是在等分數出來之前,小明不需要一直留在學校裡等老師改完,小明可以趁這段時間去做別的事(打網咖),等到明天,老師應該就改好考卷了,所以小明就花了一個下午去玩,之後就回家休息了,但是老師呢?可能得花一整個下午加上一整個晚上才能改完所有同學的考卷。
題外話,最後老師精神不濟,找了其他人幫他發考卷給同學,這個算...?
其它可參考的網站
What are actually synchronous/asynchronous operations
沒有留言:
張貼留言