실행을 위해 계속해서 스레드를 공유합니다. runBlocking 빌더가 코루틴에서 호출되는 경우 내부에 포함된 스레드를 차단하며 다른 코루틴이 해당 리소스에 접근하는 것을 막습니다. 이로 인해 성능 문제가 발생하거나 좋지 않은 경우에는 스레드가 기아 상태에 빠질 수 있습니다.
코루틴 기본형(함수 혹은 빌더 일시 정지)에서 잠재적인 호출 스택을 runBlocking 빌더에 제공합니다.
예:
suspend fun main() {
foo()
}
fun foo() {
runBlocking { suspendFunction() }
}
가능한 솔루션:
suspend fun main() {
foo()
}
suspend fun foo() {
suspendFunction()
}
재정의가 있는 함수 탐색 옵션을 사용하여 가상 함수 분석을 구성하세요.