본문 바로가기

Kotlin/8. Thread

8.2 Thread 만드는 방법(1)

Thread 상속

class ThreadEx : Thread(){
    override fun run() {
        println("Thread run")
    }
}

fun main() {
    val thread1 = ThreadEx()
    thread1.start()
}
  • Thread 클래스를 상속받고  run()에 구현

 

Runnable 인터페이스

class ThreadEx : Runnable{
    override fun run() {
        println("Thread run")
    }
}

fun main() {
    val thread1 = Thread(ThreadEx())
    thread1.start()
}
  • 상위 클래스를 Thread로 할 수 없을 경우

Callable 인터페이스

class ThreadEx : Callable<String>{
    override fun call(): String {
        return "Thread run"
    }
}

fun main() {
    val thread1 = FutureTask(ThreadEx())
    Thread(thread1).start()
    println(thread1.get())
}
  • 상위 클래스를 Thread로 할 수 없을 경우
  • 쓰레드의 결과값을 리턴 받길 원할 경우
  • call()을 get()으로 호출함

thread() 함수

val thread2 = thread(start = true){
    println("Thread2 run")
}

'Kotlin > 8. Thread' 카테고리의 다른 글

8.5 Thread Synchronization  (0) 2023.10.09
8.4 Join / Interrupt  (0) 2023.10.08
8.3 Thread 만드는 방법(2)  (0) 2023.10.02
8.1 Thread란  (0) 2023.10.02
8. Thread  (0) 2023.10.02