Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Листинг 9.2. Тестовая программа для выполнения работы в фоновом потоке

Листинг 9.2. Тестовая программа для выполнения работы в фоновом потоке

using System;
//-------------------------------------------------
//Тестовый код, который используется для выполнения
//фоновым потоком
//-------------------------------------------------
public class Test1 {
 public int m_loopX;
 //------------------------------------------------------------------
 //Функция, вызываемая фоновым потоком
 // [in] threadExecute: Класс, управляющий выполнением нашего потока.
 // Мы можем контролировать его для проверки
 // того, не следует ли прекратить вычисления
 //------------------------------------------------------------------
 public void ThreadEntryPoint(ThreadExecuteTask threadExecute) {
  //Это окно сообщений будет отображаться в контексте того потока,
  //в котором выполняется задача
  System.Windows.Forms.MessageBox.Show("Выполнение ТЕСТОВОГО ПОТОКА");
  //------
  //60 раз
  //------
  for (m_loopX = 0; m_loopX < 60; m_loopX++) {
   //Если затребована отмена выполнения, мы должны завершить задачу
   if (threadExecute.State == ThreadExecuteTask.ProcessingState.requestAbort) {
    threadExecute.setProcessingState(ThreadExecuteTask.ProcessingState.aborted);
    return;
   }
   //Имитировать выполнение работы: пауза 1/3 секунды
   System.Threading.Thread.Sleep(333);
  }
 }
} //Конец класса

В листинге 9.3 содержится код, который можно запустить на выполнение из основного потока пользовательского интерфейса с целью активизации и контроля фоновой обработки. Этот код не является независимым классом и должен помещаться в форму, с кнопками которой должны быть связаны события щелчков на кнопках.

Оглавление книги


Генерация: 1.082. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз