Kotlin

kotlinでthread

More than 1 year has passed since last update.

スレッド

androidはシングルスレッドモデルになっておりシングルスレッドモデルというのは一直線の処理ということです。
しかしそれだとデータをダウンロードする処理を行っているときに他の処理ができなくなってしまいます。
しかしそんなことはなく実際には並行して複数の処理を同時に行っています。
それは別スレッドを使いそこで処理を行っているからです。
ここでkotlinで別スレッドの作り方を。

thread.kt
import java.lang.Thread.sleep
import kotlin.concurrent.thread

private fun a(){
    println("a")
}
private  fun b(){
    println("b")
}
fun main(arg : Array<String>){
    (1..10).forEach {
        thread {
            a()
        }
        thread {
            b()
        }
    }
}
実行結果
a
b
a
b
a
b
a
b
a
b
a
b
a
a
b
b
a
b
a
b

時々割り込み処理になってる
他にもHandlerなどがある