這一題問的是有沒有 blocking 和 non-blocking 的觀念
看到這題目,第一時間可能會想到用 kotlin(java) 的
Thread.sleep(n)
這樣的做法,如果遇到同時有不同線程運行到這段程式碼,可能會出現等對方完成後才開始 sleep 的行爲,等待時間會比輸入的值要更長,這樣就和題目要求的不一樣了。
往下討論,可以討論到怎麽讓程式的行爲在多線程環境下是安全的,更近一步可以討論到 Kotlin 的 coroutine,後面發揮就比較多了。
這一題問的是有沒有 blocking 和 non-blocking 的觀念
看到這題目,第一時間可能會想到用 kotlin(java) 的
Thread.sleep(n)
這樣的做法,如果遇到同時有不同線程運行到這段程式碼,可能會出現等對方完成後才開始 sleep 的行爲,等待時間會比輸入的值要更長,這樣就和題目要求的不一樣了。
往下討論,可以討論到怎麽讓程式的行爲在多線程環境下是安全的,更近一步可以討論到 Kotlin 的 coroutine,後面發揮就比較多了。