コルーチンから到達可能な runBlocking ビルダーを報告します。

コルーチンは実行スレッドを共有します。 runBlocking ビルダーがコルーチンから呼び出されると、元になるスレッドをブロックし、他のコルーチンがこのリソースを使用できないようにします。 これによりパフォーマンスの問題が、悪いケースではスレッドのスターべーションが発生する可能性があります。

コルーチン対応プリミティブ (関数またはビルダーを一時停止) から runBlocking ビルダーへのコールスタックを提供することができます。

例:


  suspend fun main() {
      foo() 
   }

  fun foo() {
      runBlocking { suspendFunction() }
  }

可能な解決策:


  suspend fun main() {
      foo() 
   }

  suspend fun foo() {
      suspendFunction()
  }

仮想関数の解析を構成するには、「オーバーライドする関数を調べる」オプションを使用します。