Нет, не все функции приостановки имеют задание.
coroutineContext
- это общий механизм Kotlin для прозрачной передачи объектов, связанных с сопрограммами, через suspend
цепочку вызовов, а Job
- это kotlinx.coroutines
специфическая абстракция.
Если вы запустили сопрограмму с помощью любого kotlinx.coroutines
компоновщика, который поддерживает Job
(например, с использованием async
, launch
или produce
. Вы можете проверить документацию конкретного компоновщика, чтобы проверить, поддерживает ли он Job
), тогда у вас есть Job
в вашем coroutineContext
.
Но если вы запустили сопрограмму по-другому, например, используя stdlib buildSequence
, контекст сопрограммы не будет содержать задание.