Иво Салмре

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

  //значение квадратного корня из числа

  long end_point_of_search;

  end_point_of_search = (long)System.Math.Sqrt(potentialPrime) + 1;

  long current_test_.item = 3;

  while (current_test_item <= end_point_of search) {

   //---------------------------------------------------------

   //Проверить, не поступила ли команда прекратить выполнение!

   //---------------------------------------------------------

   if (m_processingState != ProcessingState.lookingForPrime) {

    return false;

   }

   //Если число делится без остатка,

   //значит, оно не является простым

   if (potentialPrime % current_test_item == 0) {

    return false;

   }

   //увеличить число на два

   current_test item = current_test_item + 2;

   //------------------------------------------

   //Увеличить количество проверенных элементов

   //------------------------------------------

   //ПРИМЕЧАНИЕ. Мы используем блокирование потока для уверенности в том,

   //что эти значения не считываются во время выполнения операции

   //их записи. Поскольку доступ к m_comparisonsSoFar

   //и m_CurrentNumberBeingExamined могут осуществлять

   //одновременно несколько потоков, любая выполняемая над ними

   //операция записи/считывания должна синхронизироваться с "блокировкой",

   //что будет гарантировать "атомарность" этих операций

   lock(this) {

    m_CurrentNumberBeingExamined = potentialPrime;

    m_comparisonsSoFar++;

   }

  }

  //Число является простым

  return true;

 } //Конец функции

} //Конец класса

← предыдущая следующий раздел →

Страницы раздела: 1 2 3 4 5 6

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.