Я пытаюсь понять, как лучше всего запускать асинхронное задание с запланированной частотой в Kotlin, в то время как приложение обычно выполняет свои обычные задачи.Допустим, у меня есть простое приложение, которое печатает только «...» каждую секунду, но каждые 5 секунд я хочу, чтобы другая работа / поток / сопрограмма (которая когда-либо подходила лучше всего) печатала «у вас есть сообщение!».Для асинхронного задания у меня есть класс NotificationProducer
, и он выглядит следующим образом.
class NotificationProducer {
fun produce() {
println("You have a message!")
}
}
Тогда мой основной метод выглядит следующим образом.
while (true) {
println("...")
sleep(1000)
}
Должен ли я использовать GlobalScope.async
Timer().schedule(...)
или какая-то кварцевая работа для достижения того, чего я хочу?Любой совет высоко ценится.Дело в том, что уведомление должно приходить из другого класса (например, NotificationProducer)