можно только 2 таска. Написал для этого дела простую suspend функцию, но IDE кидает warning на runBlocking "Inappropriate blocking method call". ЧЯДНТ?
suspend fun doTasks(tasks: List<Int>) {
val parts = tasks.chunked(2)
for (part in parts) {
runBlocking {
for(task in part) {
launch {
println("DO TASK $task")
delay(1_000)
}
}
}
}
}
Можно для этого семафор использовать
Так а смысл, это точно такая же блокировка, просто lint не поймёт и не будет ругаться. Цель понять, прав ли линт в данном случае и надо ли это как-то изменить. Если заменить runBlocking на launch { }.join(), то тоже ругаться не будет
А почему функция suspend если там блокинг калл?
Она должна будет вызываться из другой саспенд функции
Из саспенд функции можно обычные блокирующие вызывать
Но честно говоря я не очень понял цель
Обсуждают сегодня