ProcessThread ProcessThread ProcessThread ProcessThread Class

Definizione

Rappresenta un thread di processo del sistema operativo.Represents an operating system process thread.

public ref class ProcessThread : System::ComponentModel::Component
public class ProcessThread : System.ComponentModel.Component
type ProcessThread = class
    inherit Component
Public Class ProcessThread
Inherits Component
Ereditarietà

Commenti

Utilizzare ProcessThread per ottenere informazioni su un thread attualmente in esecuzione nel sistema.Use ProcessThread to obtain information about a thread that is currently running on the system. Questa operazione consente, ad esempio, di monitorare le caratteristiche relative alle prestazioni del thread.Doing so allows you, for example, to monitor the thread's performance characteristics.

Importante

Il tipo implementa l'interfaccia IDisposable.This type implements the IDisposable interface. Dopo aver utilizzato il tipo, è necessario eliminarlo direttamente o indirettamente.When you have finished using the type, you should dispose of it either directly or indirectly. Per eliminare direttamente il tipo, chiamare il metodo Dispose in un blocco try/catch.To dispose of the type directly, call its Dispose method in a try/catch block. Per eliminarlo indirettamente, utilizzare un costrutto di linguaggio come ad esempio using in C# o Using in Visual Basic.To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Per altre informazioni, vedere la sezione "Uso di un oggetto che implementa IDisposable" nell'argomento relativo all'interfaccia IDisposable.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

Un thread è un percorso di esecuzione attraverso un programma.A thread is a path of execution through a program. Si tratta della più piccola unità di esecuzione pianificata da Win32.It is the smallest unit of execution that Win32 schedules. È costituito da uno stack, dallo stato dei registri della CPU e da una voce nell'elenco di esecuzione dell'utilità di pianificazione di sistema.It consists of a stack, the state of the CPU registers, and an entry in the execution list of the system scheduler.

Un processo è costituito da uno o più thread e dal codice, dai dati e da altre risorse di un programma in memoria.A process consists of one or more threads and the code, data, and other resources of a program in memory. Le risorse tipiche del programma sono file aperti, semafori e memoria allocata in modo dinamico.Typical program resources are open files, semaphores, and dynamically allocated memory. Ogni risorsa di un processo è condivisa da tutti i thread di questo processo.Each resource of a process is shared by all that process's threads.

Un programma viene eseguito quando l'utilità di pianificazione del sistema assegna il controllo di esecuzione a uno dei thread del programma.A program executes when the system scheduler gives execution control to one of the program's threads. L'utilità di pianificazione determina i thread da eseguire e quando.The scheduler determines which threads should run and when. Un thread con priorità più bassa potrebbe essere forzato ad attendere mentre i thread con priorità più alta completano le attività.A lower-priority thread might be forced to wait while higher-priority threads complete their tasks. Nei computer multiprocessore l'utilità di pianificazione può spostare singoli thread in processori diversi, bilanciando così il carico della CPU.On multiprocessor computers, the scheduler can move individual threads to different processors, thus balancing the CPU load.

Ogni processo inizia con un singolo thread, noto come thread primario.Each process starts with a single thread, which is known as the primary thread. Qualsiasi thread può creare thread aggiuntivi.Any thread can create additional threads. Tutti i thread all'interno di un processo condividono lo spazio degli indirizzi del processo.All the threads within a process share the address space of that process.

Il thread primario non si trova necessariamente nel primo indice della raccolta.The primary thread is not necessarily located at the first index in the collection.

Nota

A partire dalla versione .NET Framework 2,0, la possibilità di fare riferimento ai dati dei contatori delle prestazioni in altri computer è stata eliminata per molti dei metodi e delle proprietà .NET Framework.Starting with the .NET Framework version 2.0, the ability to reference performance counter data on other computers has been eliminated for many of the .NET Framework methods and properties. Questa modifica è stata apportata per migliorare le prestazioni e consentire ai non amministratori ProcessThread di usare la classe.This change was made to improve performance and to enable non-administrators to use the ProcessThread class. Di conseguenza, alcune applicazioni che non hanno ricevuto eccezioni nelle versioni precedenti del .NET Framework possono ora ottenere un NotSupportedException.As a result, some applications that did not get exceptions in earlier versions of the .NET Framework may now get a NotSupportedException. I metodi e le proprietà interessati sono troppo numerosi per essere elencati qui, ma le informazioni sull'eccezione sono state aggiunte agli argomenti del membro interessato.The methods and properties affected are too numerous to list here, but the exception information has been added to the affected member topics.

I thread di un processo vengono eseguiti singolarmente e non sono consapevoli degli altri, a meno che non siano visibili tra loro.The threads of a process execute individually and are unaware of each other unless you make them visible to each other. I thread che condividono risorse comuni, tuttavia, devono coordinare il proprio lavoro usando i semafori o un altro metodo di comunicazione interprocesso.Threads that share common resources, however, must coordinate their work by using semaphores or another method of interprocess communication.

Per ottenere una raccolta di tutti ProcessThread gli oggetti associati al processo corrente, ottenere la Threads proprietà dell' Process istanza.To get a collection of all the ProcessThread objects associated with the current process, get the Threads property of the Process instance.

Proprietà

BasePriority BasePriority BasePriority BasePriority

Ottiene la priorità base del thread.Gets the base priority of the thread.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Inherited from Component)
CurrentPriority CurrentPriority CurrentPriority CurrentPriority

Ottiene la priorità corrente del thread.Gets the current priority of the thread.

DesignMode DesignMode DesignMode DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Id Id Id Id

Ottiene l'identificatore univoco del thread.Gets the unique identifier of the thread.

IdealProcessor IdealProcessor IdealProcessor IdealProcessor

Imposta il processore preferenziale su cui eseguire questo thread.Sets the preferred processor for this thread to run on.

PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled PriorityBoostEnabled

Ottiene o imposta un valore che indica se il sistema operativo deve incrementare temporaneamente la priorità del thread associato ogni volta che la finestra principale del processo del thread diventa attiva.Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus.

PriorityLevel PriorityLevel PriorityLevel PriorityLevel

Ottiene o imposta il livello di priorità del thread.Gets or sets the priority level of the thread.

PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime PrivilegedProcessorTime

Ottiene l'intervallo di tempo che il thread ha impiegato nell'esecuzione del codice all'interno del nucleo centrale del sistema operativo.Gets the amount of time that the thread has spent running code inside the operating system core.

ProcessorAffinity ProcessorAffinity ProcessorAffinity ProcessorAffinity

Imposta il processore sul quale può essere eseguito il thread associato.Sets the processors on which the associated thread can run.

Site Site Site Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Inherited from Component)
StartAddress StartAddress StartAddress StartAddress

Ottiene l'indirizzo di memoria della funzione chiamata dal sistema operativo per l'avvio di questo thread.Gets the memory address of the function that the operating system called that started this thread.

StartTime StartTime StartTime StartTime

Ottiene l'ora in cui il sistema operativo ha iniziato il thread.Gets the time that the operating system started the thread.

ThreadState ThreadState ThreadState ThreadState

Ottiene lo stato corrente di questo thread.Gets the current state of this thread.

TotalProcessorTime TotalProcessorTime TotalProcessorTime TotalProcessorTime

Ottiene la quantità totale di tempo impiegata da questo thread nell'utilizzo del processore.Gets the total amount of time that this thread has spent using the processor.

UserProcessorTime UserProcessorTime UserProcessorTime UserProcessorTime

Ottiene la quantità di tempo che il thread associato ha impiegato nell'esecuzione del codice all'interno dell'applicazione.Gets the amount of time that the associated thread has spent running code inside the application.

WaitReason WaitReason WaitReason WaitReason

Ottiene il motivo per cui il thread è in attesa.Gets the reason that the thread is waiting.

Metodi

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor() ResetIdealProcessor()

Reimposta il processore ideale di questo thread a indicare che non è presente un singolo processore ideale.Resets the ideal processor for this thread to indicate that there is no single ideal processor. In altre parole, ogni altro processore può essere ideale.In other words, so that any processor is ideal.

ToString() ToString() ToString() ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Inherited from Component)

Eventi

Disposed Disposed Disposed Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Si applica a

Vedi anche