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