Activity를 포함해 모든 컴포넌트가 실행되는 스레드, 오직 1개이다
main thread가 하는 일 이외의 나머지를 모두 맡아서 처리하는 스레드
예시 코드
override fun run() {
super.run()
try {
while (true){
if (second >= playTime){
break
}
if (isPlaying){
sleep(50)
mills += 50
runOnUiThread {
binding.songProgressSb.progress = ((mills / playTime)*100).toInt()
}
if (mills % 1000 == 0f){
runOnUiThread {
binding.songStartTimeTv.text = String.format("%02d:%02d",second / 60, second % 60)
}
second++
}
}
}
}catch (e: InterruptedException){
Log.d("Song","쓰레드가 죽었습니다. ${e.message}")
}
}
}
}```
일반적으로 동기적인 것 같다. 더 알아봐야 할 듯!