Sdílet prostřednictvím


Dělení na vlákna (C# and Visual Basic)

Threading umožňuje vaše Visual Basic nebo C# program provést souběžné zpracování, takže můžete provést více operací najednou.Například můžete zřetězení sledovat vstup uživatele, provádět úlohy na pozadí a zpracování současné proudy vstup.

Vlákna mají následující vlastnosti:

  • Podprocesy umožňují provádět souběžné zpracování programu.

  • Na.NET Framework System.Threading oboru názvů umožňuje pomocí jednodušší podprocesů.

  • Podprocesy sdílejí prostředky aplikace.Další informace naleznete v tématu Použití vláken a dělení na vlákna.

Standardně Visual Basic nebo C# program má jeden podproces.Pomocné podprocesů však lze vytvořit a používat souběžně s primární podproces spuštění kódu.Tyto podprocesy jsou často nazývány pracovních podprocesů.

Pracovních podprocesů lze přitom obsadit primární podproces provádění časově náročné nebo čas kritické úkoly.Například pracovní podprocesy se často používají v serverových aplikací bez čekání na dokončení předchozí požadavek splnit příchozí požadavky.Pracovní podprocesy používají také provádět úkoly "pozadí" do aplikací plochy tak, aby hlavní podproces--jednotky prvky uživatelského rozhraní – zůstává reagovat na akce uživatele.

Threading řeší problémy s propustnost a reakce, ale je také zavést sdílení zdrojů problémy jako například zablokování a sporech.Více podprocesů jsou nejvhodnější pro úkoly, které vyžadují různé prostředky, jako jsou popisovače souborů a připojení k síti.Přiřazení jednoho zdroje více podprocesů se může způsobit potíže se synchronizací a s při čekání na jiných podprocesů blokovaných podprocesů účinně chrání před účel použití více podprocesů.

Společná strategie je použití pracovních podprocesů provádět časově náročné nebo čas kritické úlohy, které nevyžadují mnoho prostředků používaných jiných podprocesů.Samozřejmě musí některé prostředky v programu přistupovat více podprocesů.Pro tyto případy System.Threading obor názvů poskytuje třídy synchronizace podprocesů.These classes include Mutex, Monitor, Interlocked, AutoResetEvent, and ManualResetEvent.

Některé nebo všechny tyto třídy můžete použít k synchronizaci činnosti více podprocesů, ale některé podpora podprocesů je podporován Visual Basic a jazyky C#.Například Visual BasicSyncLock – příkaz a C# Příkaz Lock poskytují funkce Synchronizace prostřednictvím implicitního Monitor

[!POZNÁMKA]

V .NET Framework 4, programování s více podprocesy je zjednodušena díky Parallel a Task tříd, Paralelní LINQ (PLINQ), nové kolekce souběžných třídy v System.Collections.Concurrent oboru názvů a nový model programování založené na pojmu úkolů, nikoli podprocesů.Další informace naleznete v tématu Paralelní programování v rozhraní .NET Framework.

Příbuzná témata

Title

Description

Vícevláknové aplikace (C# and Visual Basic)

Popisuje, jak vytvořit a používat podprocesů.

Parametry a návratové hodnoty pro procedury ve více vláknech (C# and Visual Basic)

Popisuje způsob předání a vrácení parametrů s aplikacemi s více podprocesy.

Návod: Multithreading s komponentou BackgroundWorker (C# a Visual Basic)

Ukazuje, jak vytvořit jednoduchou aplikaci s více podprocesy.

Synchronizace vláken (C# and Visual Basic)

Popisuje způsob řízení interakcí podprocesů.

Časovače vláken (C# and Visual Basic)

Popisuje spuštění procedury oddělené podprocesy v pravidelných intervalech.

Sdružování vláken (C# and Visual Basic)

Popisuje způsob použití fondu pracovních podprocesů, které jsou spravovány v systému.

Postupy: Použití fondu vláken (C# and Visual Basic)

Znázorňuje použití synchronizované více podprocesů ve fondu podprocesů.

Dělení na spravovaná vlákna

Popisuje, jak implementovat threading v .NET Framework.

Hlavní kapitoly knihy

ThreadingvC# 3.0 in a Nutshell, Third Edition: A Desktop Quick Reference

Asynchronous MethodsvC# 3.0 in a Nutshell, Third Edition: A Desktop Quick Reference

Threading and SynchronizationvC# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers