390 字
2 分钟
关于协程中的Job_

关于协程中的Job?#

根据官方文档,Job_的定义是这样的: 作业是一个可取消的事物,其生命周期在其完成时达到顶峰。协程作业是通过启动协程构建器创建的。它运行指定的代码块并在该块完成时完成。 每个协程都与一个作业相关联。每当启动新协程时,它都会返回对作业的引用。协程的作业是可取消的,取消它会取消协程本身。但是如果我们想处理范围内的所有协程,就不再需要通过单独的作业来完成,我们可以使用_CoroutineScope。 同样的,在日常开发中,我们可以通过Job提供的一些接口函数来控制协程,主要如下:

  • start() 开始_start_函数很直接,就是用来启动协程,这里就不过多描述
  • join()加入_join_函数是一个挂起函数,即它可以从协程或另一个挂起函数中调用。作业阻塞所有线程,直到写入它的协程或上下文完成其工作。只有当协程完成时,才会执行join()函数之后的行
  • cancel()关闭_cancel_方法用于取消协程,而不用等待它完成它的工作。可以说它与_join_方法正好相反,在某种意义上,join_方法等待协程完成其全部工作并阻塞所有其他线程,而_cancel 方法在遇到时杀死协程协程(即停止协程)。
关于协程中的Job_
作者
强人自传
发布于
2025-03-28
许可协议
CC BY-NC-SA 4.0