Мне нужно выполнить следующие задачи:
1) Прочитайте некоторые данные из базы данных sqlite
2) Обработать данные
3) Когда обработанные данные генерируют несколько диаграмм
Если у меня есть пользователь, который вводит множество данных в приложение, в один прекрасный день этот анализ может стать медленным и заморозить пользовательский интерфейс.
Итак, каков правильный способ его обработки, позволяющий пользователю взаимодействовать с пользовательским интерфейсом, с возможностью отмены операции или выхода из экрана?
Мне нужно сделать простые потоки для всех моих задач и с событием отмены или флагом, чтобы остановить их? Или есть еще один способ сделать это?
Например:
Задача 1: прочитать данные из sqlite в потоке с флагом, чтобы остановить процесс, если это необходимо.
Задача 2: Обработать данные в потоке с флагом, чтобы остановить процесс, если это необходимо.
Задача 3: Передача данных стороннему компоненту. На этом этапе его можно отменить операцию, выполняемую на другом компоненте?
Я думаю о правильном пути, или я мог бы что-то улучшить?