作為一名java語言使用者,使用kotlin已經(jīng)一年有余。私認為kotlin是java語言的裝飾者:在大結(jié)構(gòu)上類似java語言,同時增加了許多java未有的特性,比如可空對象、內(nèi)聯(lián)關(guān)鍵字、when操作符(增強版switch-case)、擴展方法、擴展屬性、協(xié)程等等。
kotlin并不是協(xié)程的創(chuàng)造者。協(xié)程早就已經(jīng)存在其他語言之中,比如python、go語言。
協(xié)程是一種輕量級的線程。正如一個進程可以擁有多個線程一樣,一個線程也可以擁有多個協(xié)程。

image
協(xié)程不是被操作系統(tǒng)內(nèi)核所管理,而完全是由程序所控制
這樣帶來的好處就是性能得到了很大的提升,不會像線程切換那樣消耗資源。
java并沒有實現(xiàn)協(xié)程的功能,kilim框架模擬出了協(xié)程的功能。
建議可以了解一下其他語言關(guān)于協(xié)程的部分,再來學(xué)習(xí)kotlin的協(xié)程操作,會有更深入的體會。