코틀린에서 sleep 함수를 사용하여 쓰레드를 몇 초 동안 지연시키는 방법을 소개합니다.
1. Thread.sleep()으로 몇 초 지연
Java의 Thread.sleep()
으로 아래와 같이 쓰레드를 몇 초간 지연시킬 수 있습니다.
sleep()
은 InterruptedException를 발생시킬 수 있기 때문에 try-catch로 예외처리가 필요합니다.
import java.time.LocalDateTime
fun main() {
println("sleep for 3s: " + LocalDateTime.now())
try {
Thread.sleep(3000)
} catch (e: InterruptedException) {
e.printStackTrace()
}
println("done: " + LocalDateTime.now())
}
Output:
sleep for 3s: 2022-09-15T21:03:42.415
done: 2022-09-15T21:03:45.416
2. TimeUnit.SECONDS.sleep()으로 몇 초 지연
Java의 TimeUnit.SECONDS.sleep()
으로 아래와 같이 쓰레드를 몇 초간 지연시킬 수 있습니다.
이 함수도 InterruptedException를 발생시킬 수 있기 때문에 try-catch로 예외처리가 필요합니다.
import java.time.LocalDateTime
import java.util.concurrent.TimeUnit
fun main() {
println("sleep for 3s: " + LocalDateTime.now())
try {
TimeUnit.SECONDS.sleep(3)
} catch (e: InterruptedException) {
e.printStackTrace()
}
println("done: " + LocalDateTime.now())
}
Output:
sleep for 3s: 2022-09-15T21:04:38.005
done: 2022-09-15T21:04:41.006
3. Coroutine으로 몇 초 지연
Coroutine의 delay로 몇 초간 지연시킬 수 있습니다. Coroutine의 동작이 완료될 때까지 기다리도록 runBlocking
안에서 delay를 사용하였습니다.
import kotlinx.coroutines.*
import java.time.LocalDateTime
fun main() {
println("sleep for 3s: " + LocalDateTime.now())
runBlocking {
launch {
delay(3000L)
}
}
println("done: " + LocalDateTime.now())
}
Output:
sleep for 3s: 2022-09-15T21:16:05.713
done: 2022-09-15T21:16:08.763
Loading script...
Related Posts
- Kotlin - 배열에서 최소 값, 최대 값 찾기
- Kotlin - 2차원 배열 선언, 초기화 방법
- Kotlin - 배열 선언, 초기화 방법
- Kotlin - 리스트, 배열 길이 가져오기
- Kotlin - 리스트에서 최대, 최소 값 찾기
- Kotlin - for 반복문, 배열/리스트 순회
- Kotlin - Timer, 주기적으로 함수 실행
- Kotlin - sleep, 쓰레드 몇 초 지연
- Kotlin - Thread 생성 및 실행
- Kotlin에서 정규표현식 사용하기
- Kotlin - 문자열 길이 계산
- Kotlin - 문자열 비교 방법(equals, ==, compareTo)
- Kotlin - 2개의 배열 하나로 합치기
- Kotlin - 2개의 List 하나로 합치기
- Kotlin - 디렉토리의 모든 파일 리스트 출력
- Kotlin - 리스트 정렬 방법 (sort, sortBy, sortWith)
- Kotlin - 문자열 뒤집기 (Reverse String)
- Kotlin - 랜덤 숫자 생성 (Random, SecureRandom)
- Kotlin - Range, 숫자 범위 표현
- Kotlin - 음수를 양수로 변환, math.abs()
- Kotlin - List를 Set로 변환
- Kotlin - Set를 List로 변환
- Kotlin - 문자열에서 숫자(int)만 추출하는 방법
- Kotlin - Map을 List로 변환하는 방법
- Kotlin - File, Directory가 존재하는지 확인
- Kotlin - List를 Map으로 변환
- Kotlin - List의 중복 요소 제거
- Kotlin - List를 Array로 변환
- Kotlin - 엘비스 연산자 (Elvis Operation)
- Kotlin - Array를 List로 변환
- Kotlin - String을 Float으로 변환
- Kotlin - String을 Double으로 변환
- Kotlin - String을 Int로 변환
- Kotlin - String을 Long으로 변환
- Kotlin - String Null 또는 Empty 체크