Управляемая поточность
При разработке приложения для компьютеров с одним или несколькими процессорами может потребоваться, чтобы приложение обеспечивало взаимодействие с пользователем, даже если это приложение в настоящий момент занято другими действиями. Одним из способов, обеспечивающих взаимодействие приложения и пользователя в процессе обработки данным приложением других событий, является использование нескольких потоков выполнения. Поскольку в этом разделе представлены основные принципы работы с потоками, внимание будет сосредоточено на принципах управляемых потоков и их использовании.
Примечание |
---|
Начиная с .NET Framework 4, многопоточное программирование значительно упростилось благодаря введению классов System.Threading.Tasks.Parallel и System.Threading.Tasks.Task, Parallel LINQ (PLINQ), новых классов параллельных коллекций в пространстве имен System.Collections.Concurrent и новой модели программирования, построенной по принципу управления задачами, а не потоками.Дополнительные сведения см. в разделе Параллельное программирование в .NET Framework. |
В этом подразделе
Основы управляемых потоков
Обзор управляемых потоков, а также обсуждение случаев использования нескольких потоков.Использование потоков и работа с потоками
Описание способов создания, запуска, приостановки, возобновления и отмены потоков.Рекомендации по работе с потоками
Обсуждение уровней синхронизации, способов предотвращения зависаний и состояний гонки, а также использования однопроцессорных и многопроцессорных систем и других вопросов, связанных с потоками.Объекты и функциональные возможности работы с потоками
Описание управляемых классов, используемых для синхронизации работы потоков, и данных объектов, взаимодействующих с разными потоками; обзор потоков из группы потоков.
Ссылка
System.Threading
Классы, которые применяются для использования и синхронизации управляемых потоков.System.Collections.Concurrent
Классы коллекции, которые могут безопасно использоваться несколькими потоками.System.Threading.Tasks
Классы для создания и планирования задач параллельной обработки.
Связанные подразделы
Домены приложений
Общие сведения о доменах приложений и их использовании в среде CLI.Асинхронный файловый ввод-вывод
Описывает преимущества и основные операции асинхронного ввода и вывода.Шаблоны разработки для асинхронного программирования
Общие сведения об асинхронном программировании.Асинхронный вызов синхронных методов
Объяснение способа вызова методов в потоках из пула потоков с помощью встроенных функциональных возможностей делегатов.Параллельное программирование в .NET Framework
Описание библиотек параллельного программирования, упрощающих использование нескольких потоков в приложениях.Parallel LINQ (PLINQ)
Описание системы параллельного выполнения запросов для использования преимуществ, предоставляемых наличием нескольких процессоров.