Threading gestitoManaged Threading

Indipendentemente dal numero di processori usati nello sviluppo per i computer, l'applicazione dovrà offrire l'interazione più reattiva possibile con l'utente, anche se sono in corso altre attività.Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. L'uso di più thread di esecuzione è uno dei modi più efficaci per mantenere la reattività dell'applicazione con l'utente e contemporaneamente usare il processore tra un evento utente e l'altro o persino durante gli eventi.Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. Oltre a introdurre i concetti di base del threading, questa sezione è incentrata sui concetti di threading gestito e di uso del threading gestito.While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading.

Nota

A partire da .NET Framework 4.NET Framework 4, la programmazione multithreading è notevolmente semplificata con le classi System.Threading.Tasks.Parallel e System.Threading.Tasks.Task, Parallel LINQ (PLINQ), le nuove classi di raccolta simultanee nello spazio dei nomi System.Collections.Concurrent e un nuovo modello di programmazione che si basa sul concetto di attività anziché di thread.Starting with the .NET Framework 4.NET Framework 4, multithreaded programming is greatly simplified with the System.Threading.Tasks.Parallel and System.Threading.Tasks.Task classes, Parallel LINQ (PLINQ), new concurrent collection classes in the System.Collections.Concurrent namespace, and a new programming model that is based on the concept of tasks rather than threads. Per altre informazioni, vedere Programmazione parallela.For more information, see Parallel Programming.

In questa sezioneIn This Section

Nozioni di base sul threading gestitoManaged Threading Basics
Fornisce una panoramica del threading gestito e illustra quando usare più thread.Provides an overview of managed threading and discusses when to use multiple threads.

Utilizzo di thread e threadingUsing Threads and Threading
Illustra come creare, avviare, sospendere, riprendere e interrompere i thread.Explains how to create, start, pause, resume, and abort threads.

Suggerimenti per l'utilizzo del threading gestitoManaged Threading Best Practices
Illustra i livelli di sincronizzazione, come evitare deadlock e race condition, computer a processore singolo e multiprocessore e altri problemi di threading.Discusses levels of synchronization, how to avoid deadlocks and race conditions, single-processor and multiprocessor computers, and other threading issues.

Threading Objects and Features (Oggetti e funzionalità del threading)Threading Objects and Features
Descrive le classi gestite che è possibile usare per sincronizzare le attività dei thread e i dati di oggetti accessibili su thread differenti e fornisce una panoramica dei thread del pool.Describes the managed classes you can use to synchronize the activities of threads and the data of objects accessed on different threads, and provides an overview of thread pool threads.

RiferimentiReference

System.Threading
Contiene classi per l'uso e la sincronizzazione dei thread gestiti.Contains classes for using and synchronizing managed threads.

System.Collections.Concurrent
Contiene le classi di raccolta che sono sicure per l'uso con più thread.Contains collection classes that are safe for use with multiple threads.

System.Threading.Tasks
Contiene classi per la creazione e la pianificazione delle attività di elaborazione simultanee.Contains classes for creating and scheduling concurrent processing tasks.

Domini dell'applicazioneApplication Domains
Fornisce una panoramica dei domini dell'applicazione e del loro uso da parte di Common Language Runtime.Provides an overview of application domains and their use by the Common Language Infrastructure.

I/O di file asincronoAsynchronous File I/O
Vengono descritti il funzionamento di base dell'I/O asincrono e i relativi vantaggi in termini di prestazioni.Describes the performance advantages and basic operation of asynchronous I/O.

Modello asincrono basato su attività (TAP)Task-based Asynchronous Pattern (TAP)
Offre una panoramica del modello consigliato per la programmazione asincrona in .NET.Provides an overview of the recommended pattern for asynchronous programming in .NET.

Chiamata sincrona dei metodi asincroniCalling Synchronous Methods Asynchronously
Illustra come chiamare metodi sul thread del pool usando le funzionalità predefinite dei delegati.Explains how to call methods on thread pool threads using built-in features of delegates.

Programmazione parallelaParallel Programming
Descrive le librerie per la programmazione parallela, che semplificano l'uso di più thread nelle applicazioni.Describes the parallel programming libraries, which simplify the use of multiple threads in applications.

Parallel LINQ (PLINQ)Parallel LINQ (PLINQ)
Descrive un sistema per l'esecuzione di query in parallelo, in modo da sfruttare più processori.Describes a system for running queries in parallel, to take advantage of multiple processors.