У меня есть список событийсписок Обработка событий эффективно
List<Event> events;
Каждое событие имеет действие и время, когда это действие должно быть активировано. Этот список сортируется, но промежутки времени между последовательными событиями могут быть большими или малыми.
У меня есть отдельный поток с циклом while, но он не эффективен, поскольку промежутки времени могут быть большими. Одно усовершенствование могло бы быть что-то вроде этого:
проверка первый элемент
если дата нормально
2,1 Процесс события
2,2 удалить событие из списка
если дата не подходит
3,1 высчитывает дифф = event_time - actual_time
3,2 идут спать в течение времени дифф
3,3 перейдите к 1.
Может быть сделано лучше _
Мой вопрос не является? запуск определенного метода в заданное время. Эти события должны обрабатываться точно в том же порядке, что и в списке событий. Два последовательных события могут иметь одно и то же время.
использование планировщика, ваш подход не так хорошо – Lrrr
чтения над вопросом и его ответами, особенно, кварцевые планировщики хороши, на мой взгляд, – Lrrr
Я думал о TimerTask, но как я могу быть уверен, что если две задачи имеют одно и то же время, они будут обработаны в orde r из данного списка? – Leosu