[kotlin] 코틀린에서의 스레드 풀 사용하기
코틀린은 자바와 같이 멀티스레딩을 지원하기 때문에, 스레드 풀을 사용하여 작업을 효율적으로 처리할 수 있습니다. 스레드 풀은 미리 생성된 스레드들을 관리하고 작업을 할당해주는 매니저 역할을 합니다.
스레드 풀 생성하기
코틀린에서 스레드 풀을 생성하려면 ExecutorService
인터페이스를 사용해야 합니다. ExecutorService
는 스레드 풀 관리를 담당하는 인터페이스이며, newFixedThreadPool
메소드를 통해 스레드 풀을 생성할 수 있습니다.
다음은 코틀린에서 스레드 풀을 생성하는 예제 코드입니다.
import java.util.concurrent.Executors
fun main() {
val threadPool = Executors.newFixedThreadPool(5)
// 스레드 풀 사용 예시
for (i in 1..10) {
threadPool.execute {
// 스레드에서 실행할 작업
println("Task $i is running on thread ${Thread.currentThread().name}")
}
}
// 스레드 풀 종료
threadPool.shutdown()
}
위 코드에서 newFixedThreadPool(5)
는 5개의 스레드를 가지는 스레드 풀을 생성합니다. for
루프에서 작업을 실행할 때 execute
메소드를 사용하여 스레드 풀에서 작업을 할당받습니다.
스레드 풀 종료하기
작업이 완료된 후 스레드 풀을 종료해주어야 합니다. 종료하지 않으면 프로그램이 종료되지 않고 계속 실행될 수 있습니다.
스레드 풀을 종료하는 방법은 shutdown
메소드를 호출하는 것입니다. 이 메소드를 호출하면 현재 스레드들은 작업을 마치고 종료됩니다.