Looking for c# Answers? Try Ask4KnowledgeBase
Looking for c# Keywords? Try Ask4Keywords

C# LanguageМногопоточность


замечания

Поток является частью программы, которая может выполняться независимо от других частей. Он может выполнять задачи одновременно с другими потоками. Многопоточность - это функция, которая позволяет программам выполнять параллельную обработку, чтобы одновременно выполнять несколько операций.

Например, вы можете использовать потоки для обновления таймера или счетчика в фоновом режиме, одновременно выполняя другие задачи на переднем плане.

Многопоточные приложения более восприимчивы к пользовательскому вводу, а также легко масштабируются, поскольку разработчик может добавлять потоки по мере увеличения рабочей нагрузки.

По умолчанию программа C # имеет один поток - основной поток программы. Тем не менее, вторичные потоки могут быть созданы и использованы для выполнения кода параллельно с основным потоком. Такие потоки называются рабочими потоками.

Для управления работой потока CLR делегирует функцию в операционную систему, известную как Thread Scheduler. Планировщик потоков гарантирует, что всем потокам будет назначено надлежащее время выполнения. Он также проверяет, что потоки, которые заблокированы или заблокированы, не потребляют большую часть времени процессора.

Пространство имен .NET Framework System.Threading упрощает использование потоков. System.Threading позволяет многопоточность, предоставляя несколько классов и интерфейсов. Помимо предоставления типов и классов для определенного потока, он также определяет типы для хранения коллекции потоков, класса таймера и т. Д. Он также обеспечивает поддержку, позволяя синхронизировать доступ к общим данным.

Thread является основным классом в пространстве имен System.Threading . Другие классы включают AutoResetEvent , Interlocked , Monitor , Mutex и ThreadPool .

Некоторые из делегатов, присутствующих в пространстве имен System.Threading включают ThreadStart , TimerCallback и WaitCallback .

Перечисления в пространстве имен System.Threading включают ThreadPriority , ThreadState и EventResetMode .

В .NET Framework 4 и более поздних версиях многопоточное программирование упрощается и упрощается с помощью классов System.Threading.Tasks.Parallel и System.Threading.Tasks.Task , Parallel LINQ (PLINQ), новых классов параллельной коллекции в System.Collections.Concurrent имен System.Collections.Concurrent и новая модель программирования на основе задач.

Многопоточность Связанные примеры