Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Пример использования фонового потока для выполнения отдельной задачи
Пример использования фонового потока для выполнения отдельной задачи
Показанный в листинге 9.1 код представляет класс, который позволяет управлять выполнением задачи в фоновом потоке. Для отслеживания состояний подготовки приложения к выполнению, запуска нового потока, выполнения кода потоком и выхода из потока выполнения по завершении работы применяется конечный автомат.
Кроме того, в рассматриваемом примере основному потоку предоставляется возможность запрашивать прекращение выполнения фоновой задачи. Для уведомления потока, выполняющего фоновую задачу, о поступлении запроса на прекращение выполнения, используется вызов метода m_threadExecute.setProcessingState(ThreadExecuteTask.ProcessingState.requestAbort) из другого потока. За периодическую проверку этого состояния и осуществление возможного прекращения выполнения операции отвечает код, выполняемый фоновым потоком. Конечный автомат для класса ThreadExecuteTask представлен на рис. 9.1.
Рис. 9.1. Конечный автомат для отдельной задачи, выполняемой фоновым потоком
- 16.3. Примеры использования termios
- 29. «Оплата по факту использования» Платите только за то, чем воспользовались
- Решение задачи о разбиении
- 2.1. Взаимодействие со средой выполнения
- 13.3.4. Упрощение использования gettext()
- 4.3. Общие случаи использования отсечения
- Пример установочного скрипта
- Пример из практики
- Права для выполнения резервного копирования
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Упражнения для самостоятельного выполнения
- 1.1. Информатика. Предмет информатики. Основные задачи информатики