想象一下:
suspend fun doSomething() = ...
suspend fun measureSomething() = measuring{
doSomething()
} // logs 7 seconds
measuring{
measureSomething()
} // logs 15 seconds? WHY????
为什么会有这么大的不同?
我认为可能的原因之一是 CoroutineScope 正在等待子作用域完成...
如果是这样,我该如何调试?
YET,我认为情况并非如此。所以另一个原因可能是事件循环资源很少,并且直到稍后它可以释放线程才释放线程......但是8秒这样做?
没有意义!