Я не совсем уверен, какова цель функции yield
.
Можете ли вы проверить этот пример, который у меня есть?
Я следую примеру здесь , но в любом случае.
Вот код:
val job = launch {
val child = launch {
try {
delay(Long.MAX_VALUE)
} finally {
println("Child is cancelled")
}
}
yield() //why do i need this ???????
println("Cancelling child")
child.cancel()
child.join()
yield()
println("Parent is not cancelled")
}
job.join()
Когда я закомментирую первый результат, я получаю следующие результаты:
Отмена ребенка
Родитель не отменяется
но если я оставлю доход таким, какой он есть, я получу:
Отмена ребенка
Ребенок отменен
Родитель не отменен
что значит использовать yield
здесь?