所有的协程必须在调度器上运行,即使在主线程运行也是。
常用调度器:

  1. Dispatchers.Main
    1. 主线程
    2. 可用于更新UI,调用Suspend函数。
  2. Dispatchers.IO
    1. 非主线程
    2. 专门为了磁盘和网络IO进行了优化
      1. 数据库
      2. 文件读写
      3. 网络处理
  3. Dispatchers.Default
    1. 非主线程
    2. 专门为了CPU密集型进行了优化
      1. 数组排序
      2. JSON数据解析
      3. 处理异常判断