Класс Task.
В основу TPL положен класс Task. Элементарная единица исполнения инкапсулируется в TPL средствами класса Task, а не…
В основу TPL положен класс Task. Элементарная единица исполнения инкапсулируется в TPL средствами класса Task, а не…
Вероятно, самым главным среди новых средств, внедренных в версию 4.0 среды .NET Framework, является библиотека распараллеливания задач…
Создание потоков требует времени. Если есть различные короткие задачи, подлежащие выполнению, можно создать набор потоков заранее и…
В .NET Framework доступно несколько классов Timer, которые могут применяться для обеспечения вызова методов по истечении определенного…
Иногда поток полезно прервать до его нормального завершения. Например, отладчику может понадобиться прервать вышедший из-под контроля поток….
Рассматривавшиеся ранее классы синхронизации, в том числе Semaphore и AutoResetEvent, были доступны в среде .NET Framework, начиная…
События представляют собой еще один ресурс для обеспечения синхронизации в масштабе всей системы. Для использования системных событий…
Mutex Класс Mutex (mutual exclusion — взаимное исключение или мьютекс) является одним из классов в .NET Framework,…
Рассмотрим следующую ситуацию. Поток T выполняется в кодовом блоке lock, и ему требуется доступ к ресурсу R,…
Класс Interlocked Класс Interlocked позволяет создавать простые операторы для атомарных операций с переменными. Например, операция i++ не…
При построении многопоточного приложения необходимо гарантировать, что любая часть разделяемых данных защищена от возможности изменения их значений…
Многопоточное программирование является далеко не простой задачей. При запуске множества потоков, получающих доступ к одним и тем…
Потоки переднего плана и фоновые потоки Теперь, когда известно, как создавать новые потоки выполнения программно с помощью…
При программном создании дополнительных потоков для выполнения некоторой единицы работы необходимо следовать строго регламентированному процессу: Создать метод,…
Класс Thread является самым элементарным из всех типов пространства имен System.Threading. Этот класс представляет объектно-ориентированную оболочку вокруг…
Еще один способ для ожидания результатов от делегата заключается в применении так называемого асинхронного обратного вызова (asynchronous…
Наиболее простым способом для создания потока является определение делегата и его вызов асинхронным образом. Делегаты могут исполнять…
Для применения многопоточности существует несколько причин. Предположим, в приложении предпринимается обращение к какому-то серверу в сети, которое…
Чтение синдицируемых каналов является лишь одним из случаев применения API-интерфейса Syndication. Другой случай связан с предоставлением синдицируемых…
Часто возникает желание публиковать какие-то структурированные данные, которые время от времени изменяются. Сегодня на многих веб-сайтах присутствуют…