Допустим, у меня есть функция, которая обновляет некоторые внутренние состояния приложения:
def on_change(*args, **kwargs):
pass # some compute intensive state change
Эта функция может запускаться до сотни раз в секунду (из-за множества событий колесика мыши, запускающих обновление) - я бы нравится выполнять вышеупомянутую функцию только один раз, и должен выполняться только последний вызов.
Каков наилучший шаблон проектирования для управления такой ситуацией? Единственный способ, о котором я могу думать, - это создавать отдельный поток для каждого вызова on_change и делить переменную между ними, но это звучит слишком грязно ...
Спасибо!