Книга: C# 4.0: полное руководство
Дополнительные средства многопоточной обработки, внедренные в версии .NET Framework 4.0
Дополнительные средства многопоточной обработки, внедренные в версии .NET Framework 4.0
В версии .NET Framework 4.0 внедрен ряд новых средств многопоточной обработки, которые могут оказаться весьма полезными. Самым важным среди них является новая система отмены. В этой системе поддерживается механизм отмены потока простым, вполне определенным и структурированным способом. В основу этого механизма положено понятие признака отмены, с помощью которого указывается состояние отмены потока. Признаки отмены поддерживаются в классе CancellationTokenSource
и в структуре CancellationToken
. Система отмены полностью интегрирована в новую библиотеку распараллеливания задач (TPL), и поэтому она подробнее рассматривается вместе с TPL в главе 24.
В класс System.Threading
добавлена структура SpinWait
, предоставляющая методы SpinOnce()
и SpinUntil()
, которые обеспечивают более полный контроль над ожиданием в состоянии занятости. Вообще говоря, структура SpinWait
оказывается непригодной для однопроцессорных систем. А для многопроцессорных систем она применяется в цикле. Еще одним элементом, связанным с ожиданием в состоянии занятости, является структура SpinLock
, которая применяется в цикле ожидания до тех пор, пока не станет доступной блокировка. В класс Thread
добавлен метод Yield()
, который просто выдает остаток кванта времени, выделенного потоку. Ниже приведена общая форма объявления этого метода.
public static bool Yield()
Этот метод возвращает логическое значение true
, если происходит переключение контекста. В отсутствие другого потока, готового для выполнения, переключение контекста не произойдет.
- Основы многопоточной обработки
- Класс Thread
- Определение момента окончания потока
- Передача аргумента потоку
- Свойство IsBackground
- Приоритеты потоков
- Синхронизация
- Сообщение между потоками с помощью методов Wait(), Pulse() и PulseAll()
- Взаимоблокировка и состояние гонки
- Применение атрибута MethodlmplAttribute
- Применение мьютекса и семафора
- Применение событий
- Класс Interlocked
- Классы синхронизации, внедренные в версии .NET Framework 4.0
- Прерывание потока
- Приостановка и возобновление потока
- Определение состояния потока
- Применение основного потока
- Дополнительные средства многопоточной обработки, внедренные в версии .NET Framework 4.0
- Рекомендации по многопоточному программированию
- Запуск отдельной задачи
- Улучшенное время отклика для версии SuperServer
- Улучшенный протокол локальных соединений (XNET)
- Дополнительные национальные кодовые страницы и порядки сортировки
- Другие изменения в 7-й версии InterBase
- Определение версии клиента
- Отличительные особенности новой версии
- 1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- NETMAP target
- Глава 8 Дополнительные службы
- Internet Service Providers who use assigned IP addresses
- Методы грамотной обработки возражений изменению