John Doe wrote: ↑Wed 06 Aug, 2014 14:02Возможно ли в принципе извлечь хотя бы какую-то пользу от накопления вызовов?
Сходу не смог придумать такую задачу.
Зато о вреде легко скажу.
Во-первых, не зная деталей реализации легко ошибиться в использовании этой функции.
И я так делал, и вот свежий пример:
http://forum.farmanager.com/viewtopic.p ... 55#p146555
Во-вторых, недавно упоминалось и то, что очередь вызовов не бесконечна, и при определённых условиях может и переполнится.
И даже если не переполнится, но в итоге может накопиться достаточно большое количество (ненужных) вызовов, при обработке которых например интерфейс будет подтормаживать (наблюдал).
Поэтому возвращаюсь к своему предложению:
John Doe wrote: ↑Wed 06 Aug, 2014 14:02Может стоит запретить накопление? Чтобы следующий вызов таймера ставился в очередь не ранее, чем начал обрабатываться предыдущий.
Предполагаю, что можно было бы сделать так: таймер, работающий в отдельном потоке, не просто ставит в очередь пользовательский код, но и контроллирует, что предыдущий элемент очереди выполнен. Если предыдущий не выполнен — то новый не добавляет.
Поправьте, если я где-то ошибаюсь.