Первым шагом было бы превратить ваш процесс в чанки, которые будут завершаться достаточно быстро, чтобы поддерживать отзывчивость вашего приложения.
Затем запустите таймер, который работает максимально быстро.На каждом событии TIMER
выполните как можно больше кусков, находясь под определенным порогом.Это замедлит весь процесс, поэтому вы хотите, чтобы порог был как можно выше.
Вы можете проверить мой класс AsyncSWFModifier для рабочего примера.Это базовый класс, который я расширяю, переопределяя метод run
.Я не буду вставлять это здесь, потому что в этом классе есть некоторые не относящиеся к делу детали.