CoroutineStart.DEFAULT 协程创建后立即开始调度,在调度前如果协程被取消,就直接进入取消响应的状态,虽然是立即调度,但也有可能在执行前被取消
CoroutineStart.ATOMIC 协程创建后立即开始调度,协程执行到第一个挂起点之前不响应取消,因此协程也一定会执行第一个挂起点前的逻辑
CoroutineStart.LAZY 协程创建后等待调度,只有协程主动调用该协程的start、join或者await等函数时才会开始调度,如果调度前就被取消,就直接进入取消响应的状态
CoroutineStart.UNDISPATCHED 协程创建后立即在当前函数调用栈中立即执行直到遇到第一个真正挂起的点,因此协程一定会执行