CoroutineContext containing a
Job.
Passing contexts with a Job to coroutine builders like launch, async, produce, promise,
or to withContext
breaks the parent-child relationship between coroutines, defeating the purpose of structured concurrency.
示例:
coroutineScope.launch(Job()) {
// this coroutine does not have parent relationship with the `coroutineScope` receiver
}