하나의 Thread는 하나의 작업만 할 수 있어서 앱에 Main Thread만 존재한다면 동시에 여러 작업을 수행할 수 없고, 만약 아주 긴 작업을 해야한다면 그 이후의 작업들은 그 시간동안 대기해야하는 비효율이 발생할 수 있기 때문에 필요
1. Thread 객체를 생성할 때 필요한 Runnable 객체 만들기
val runnable: Runnable = object : Runnable{
override fun run() {
//작업 코드
Log.d("thread", "Thread1 is made")
}
}
2. Thread 객체 생성
val thread: Thread = Thread(runnable)
3. Thread 시작
thread.start()
Thread(object:Runnable{
override fun run() {
Log.d("thread", "Thread2 is made")
}
}).start()
Thread {
Thread.sleep(2000) // 해당 Thread를 3초동안 잠재움
Log.d("thread", "Thread3 is made")
}.start()
Thread {
Thread.sleep(2000)
Log.d("thread2", "Thread3 is made")
runOnUiThread {
button.setBackgroundColor(getColor(R.color.yellow))
}
}.start()