Wątkowość (C# i Visual Basic)

Threading pozwala na Visual Basic lub C# program do wykonywania jednoczesnych przetwarzanie, dzięki czemu można wykonać więcej niż jedną operację naraz.Na przykład można wątków do monitorowania danych wejściowych od użytkownika, wykonywać zadania w tle i obsługiwać równoczesnych strumieni danych wejściowych.

Wątki mają następujące właściwości:

  • Wątki włączyć program do wykonywania jednoczesnych przetwarzania.

  • .NET Framework System.Threading powoduje, że obszar nazw za pomocą wątków jest łatwiejsze.

  • Wątki współużytkują zasoby aplikacji.Aby uzyskać więcej informacji, zobacz Używanie wątków i wątkowości.

Domyślnie Visual Basic lub program w C# ma jeden wątek.Jednak pomocnicze wątków można tworzyć i używany w celu wykonania kodu równolegle z wątkiem głównym.Wątki te są często nazywane wątków roboczych.

Wątki robocze może służyć do wykonywania zadań czasochłonne lub krytycznym czasu bez zajmowania wątek główny.Na przykład wątków roboczych są często używane w aplikacji serwera do spełnienia żądania przychodzące bez oczekiwania na poprzednie żądanie do wypełnienia.Wątki robocze są również używane do wykonywania zadań "tło" w aplikacji pulpitu tak, że głównym wątku--dyski elementy interfejsu użytkownika--pozostaje reaguje na akcje użytkownika.

Wątki rozwiązuje problemy z przepustowości i elastyczność, ale może również wprowadzić współużytkowanie zasobów problemy, takie jak zakleszczenia i wyścigu.Wiele wątków są najlepsze dla zadań, które wymagają różnych zasobów, takich jak dojścia do plików i połączeń sieciowych.Przypisywanie wielu wątków do pojedynczego zasobu może spowodować problemy z synchronizacją, i posiadające wątków często blokowane podczas oczekiwania na inne wątki pokonuje celem korzystania z wielu wątków.

Wspólnej strategii jest użycie wątków roboczych do wykonywania czasochłonnych lub czas krytycznych zadań, które nie wymagają wielu zasobów, używane przez inne wątki.Naturalnie niektóre zasoby w programie musi być używany przez wiele wątków.W tych przypadkach System.Threading nazw przewiduje klas synchronizacji wątków.These classes include Mutex, Monitor, Interlocked, AutoResetEvent, and ManualResetEvent.

Niektórych lub wszystkich tych klas można użyć do synchronizowania działań wiele wątków, ale niektóre wsparcie dla wątków jest obsługiwany przez Visual Basic i języki C#.Na przykład Visual BasicSyncLock — Instrukcja i C# Instrukcji "Lock" dostarczają funkcji synchronizacji poprzez wykorzystanie niejawny Monitor

[!UWAGA]

W Program .NET Framework 4, programowania wielowątkowego jest znacznie uproszczone dziêki Parallel i Task klasy, Równoległe LINQ (PLINQ), Nowa kolekcja współbieżne klasy w System.Collections.Concurrent obszaru nazw i nowy model programowania, który jest oparty na koncepcji zadania, a nie wątków.Aby uzyskać więcej informacji, zobacz Programowanie równoległe w .NET Framework.

Tematy pokrewne

Tytuł

Opis

Aplikacje wielowątkowe (C# i Visual Basic)

W tym artykule opisano, jak tworzyć i używać wątków.

Parametry i wartości zwracane dla procedur wielowątkowości (C# i Visual Basic)

Informacje dotyczące przekazywania i zwraca parametry w aplikacjach wielowątkowych.

Wskazówki: wielowątkowość ze składnikiem BackgroundWorker (C# and Visual Basic)

Pokazuje, jak tworzenie prostej aplikacji wielowątkowych.

Synchronizacja wątku (C# i Visual Basic)

W tym artykule opisano sposób sterowania interakcje wątków.

Czasomierze wątków (C# i Visual Basic)

W tym artykule opisano sposób uruchamiania procedury na osobne wątki w stałych odstępach czasu.

Pula wątków (C# i Visual Basic)

W tym artykule opisano, jak używać puli wątków roboczych, które są zarządzane przez system.

Porady: korzystanie z puli wątków (C# i Visual Basic)

Demonstruje zsynchronizowane użycie wielu wątków w puli wątków.

Zarządzana wątkowość

W tym artykule opisano sposób implementacji wątków w .NET Framework.

Promowane rozdziałów książki

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

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

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