)
我只想理解当时的调度员。默认运行速度比调度员快。 尽管其线程池中的线程数量较少。
Output :
Dispatchers.IO = 200 - 300 ms
Dispatchers.Default = 80 - 100 ms
与CPU核心数量相比,在线程上运行CPU的作业会导致过度上下文切换和线程管理开销,从而增加了总执行时间。
由于您的工作仅计算而无需等待,使用Dispatchers.Default
,但是,如果您在工作中介绍等待(例如,Thread.sleep(500)
),
Dispatchers.IO
将通过允许其他任务在等待时使用释放线程来更快地完成总工作。