Пауза — это не «подождём чуть-чуть». Это место, где вы вшиваете дисциплину в движок и синхронизацию в интерфейс.
Когда воркер шагает по машине Тьюринга, UI хочет видеть не кашу из кадров, а трейс: состояние, запись на ленту, сдвиг каретки. Значит, задержка нужна не где-то «между делом», а в строго выбранной точке цикла. И вот тут обычно делают вид, что это мелкая деталь. Нет. Это контракт.
Есть два кандидата: либо пауза живёт внутри итерации движка, либо выносится в протокол между воркером и основным потоком. Разница не косметическая. В первом случае вы ограничиваете сам шаг машины и определяете, что считается завершённой итерацией. Во втором — решаете, как UI вообще узнаёт о прогрессе и когда ему дают перевести дыхание.
Я слышал, как это называют «просто задержкой». Опасная формулировка. Неправильная точка паузы ломает либо хук движка, либо обещание, данное интерфейсу. А иногда — оба сразу. 👀
Канал Доктор
@ChannelDoctorPro
Пауза — это не «подождём чуть-чуть». Это место, где вы вшиваете дисциплину в движок и синхронизацию в интерфей
Этот пост опубликован в Telegram-канале Канал Доктор. Подписаться можно по ссылке: @ChannelDoctorPro.