Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

這一題問的是有沒有 blocking 和 non-blocking 的觀念

看到這題目,第一時間可能會想到用 kotlin(java) 的

Thread.sleep(n)

這樣的做法,如果遇到同時有不同線程運行到這段程式碼,可能會出現等對方完成後才開始 sleep 的行爲,等待時間會比輸入的值要更長,這樣就和題目要求的不一樣了。

往下討論,可以討論到怎麽讓程式的行爲在多線程環境下是安全的,更近一步可以討論到 Kotlin 的 coroutine,後面發揮就比較多了。