Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

cs_dev06 [2015/02/02 01:13] (текущий)
Строка 1: Строка 1:
 +======Работа с потоками======
 +
 +Иногда при разработке алгоритмов возникают задачи, которые требуют больших вычислительных ресурсов. Так как вызов метода программы выполняется в основном потоке пересчета базы каналов узла такая задержка будет сильно влиять на общий цикл пересчета. Чтобы снизить такую нагрузку можно использовать механизм потоков и выполнять ресурсоемкие задачи в отдельных потоках, которые не будут оказывать значительного влияния на общий цикл пересчета базы каналов узла.
 +
 +=====Процедура объявления потока=====
 +
 +Для поддержки в программе механизма потоков необходимо подключить через директиву using модуль **System.Threading**
 +
 +<code csharp>
 +using System.Threading;
 +</code>
 +
 +Однако при компиляции будет выдана ошибка, потому как система не может найти такой модуль и его надо указать явно - для этого перейдем во вкладку **Внешняя DLL** и подключим стороннюю сборку **System.dll** из набора штатных библиотек фреймворка 2.0, он расположен по пути: **%SYSTEM_DIR%\Microsoft.NET\Frameworks\v2.0.50727**
 +
 +Для выполнения любого из методов программы в отдельном потоке необходимо инициализировать этот поток и запустить его на выполнение.
 +Пример кода:
 +<code csharp>
 +Thread myMethod = new Thread(new ThreadStart(this.ShowReport));
 +myMethod.Start();
 +</code>
  
cs_dev06.txt · Последние изменения: 2015/02/02 01:13 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki