こんにちは、K.Kです😀
以前、Kotlin1.3に追加された機能であるCoroutines(コルーチン)の設定を行いました。
今回は、簡単なCoroutinesのコードを書いてみました。
コードに関しては、こちらのKotlinの公式サイトを参考にしています。
まずは準備のコーディング
MainActivity.ktのonCreate関数内に処理を記述します。
override fun onCreate(savedInstanceState: Bundle?) {
・・・・・・・ここに処理を記述する
}
一応、画面の方も作っておきましょう。
activity_main.xmlにボタンを追加します。
KotlinクラスにCoroutinesを追加する
onCreate内に以下のコードを記載します。
println(“試し打ち”) //①
GlobalScope.launch {
delay(1000L)
println(“World Test!”)//②
}
println(“Hello,”)//③
Thread.sleep(2000L)
GlobalScope.launch{….}は、コルーチンビルダーで新しいコルーチンを起動します。
delay…は処理を遅延させます。ミリ秒単位で表記するので1000Lは1秒を意味します。
Threadはスレッドで、sleepもミリ秒単位で同じく処理を遅延させます。
プロジェクトをエミュレーターで実行すると、ログには以下のように出力されます。
2019-03-21 16:56:33.558 8077-8077/com.example.user.kotlintest I/System.out: 試し打ち
2019-03-21 16:56:33.689 8077-8077/com.example.user.kotlintest I/System.out: Hello,
2019-03-21 16:56:34.755 8077-8125/com.example.user.kotlintest I/System.out: World Test!
コメントの出力順としては、①→③→②となります。
コルーチン内にある②は1秒遅れて処理されているように、スレッドとして独立して実行されているのがわかります。
今回の一言・・・
実際に動かしてみると少しわかった感じになります。
Coroutinesは、Threadと違って軽量で複雑な処理もできるそうなのでもうちょっと試してみると面白そうです。
ここまで読んでくれてありがとう。
では、また次回。
↓次回はこちら
コメント