ThreadPool.UnsafeQueueUserWorkItem Méthode

Définition

Surcharges

Nom Description
UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

Met en file d’attente l’objet d’élément de travail spécifié dans le pool de threads.

UnsafeQueueUserWorkItem(WaitCallback, Object)

Met en file d’attente le délégué spécifié au pool de threads, mais ne propage pas la pile appelante vers le thread de travail.

UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)

Met en file d’attente une méthode spécifiée par un Action<T> délégué pour l’exécution et spécifie un objet contenant des données à utiliser par la méthode. La méthode s’exécute lorsqu’un thread de pool de threads devient disponible.

UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs

Met en file d’attente l’objet d’élément de travail spécifié dans le pool de threads.

public:
 static bool UnsafeQueueUserWorkItem(System::Threading::IThreadPoolWorkItem ^ callBack, bool preferLocal);
public static bool UnsafeQueueUserWorkItem(System.Threading.IThreadPoolWorkItem callBack, bool preferLocal);
static member UnsafeQueueUserWorkItem : System.Threading.IThreadPoolWorkItem * bool -> bool
Public Shared Function UnsafeQueueUserWorkItem (callBack As IThreadPoolWorkItem, preferLocal As Boolean) As Boolean

Paramètres

callBack
IThreadPoolWorkItem

Élément de travail à appeler lorsqu’un thread du pool de threads récupère l’élément de travail.

preferLocal
Boolean

true pour préférer mettre en file d’attente l’élément de travail dans une file d’attente proche du thread actuel ; false pour préférer mettre en file d’attente l’élément de travail à la file d’attente partagée du pool de threads.

Retours

true si la méthode réussit ; OutOfMemoryException est levée si l’élément de travail n’a pas pu être mis en file d’attente.

Exceptions

callBack a la valeur null.

L’élément de travail est un Task.

L’élément de travail n’a pas pu être mis en file d’attente.

Remarques

Le pool de threads appelle la méthode de l’élément de Execute() travail. Il incombe à cet élément de travail de se propager ExecutionContext s’il est nécessaire ; le pool de threads ne le fera pas.

S’applique à

UnsafeQueueUserWorkItem(WaitCallback, Object)

Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs

Met en file d’attente le délégué spécifié au pool de threads, mais ne propage pas la pile appelante vers le thread de travail.

public:
 static bool UnsafeQueueUserWorkItem(System::Threading::WaitCallback ^ callBack, System::Object ^ state);
public static bool UnsafeQueueUserWorkItem(System.Threading.WaitCallback callBack, object? state);
public static bool UnsafeQueueUserWorkItem(System.Threading.WaitCallback callBack, object state);
[System.Security.SecurityCritical]
public static bool UnsafeQueueUserWorkItem(System.Threading.WaitCallback callBack, object state);
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
[<System.Security.SecurityCritical>]
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
Public Shared Function UnsafeQueueUserWorkItem (callBack As WaitCallback, state As Object) As Boolean

Paramètres

callBack
WaitCallback

Qui WaitCallback représente le délégué à appeler lorsqu’un thread du pool de threads récupère l’élément de travail.

state
Object

Objet passé au délégué lorsqu’il est mis en service à partir du pool de threads.

Retours

true si la méthode réussit ; OutOfMemoryException est levée si l’élément de travail n’a pas pu être mis en file d’attente.

Attributs

Exceptions

L’appelant n’a pas l’autorisation requise.

Une condition de mémoire insuffisante a été rencontrée.

L’élément de travail n’a pas pu être mis en file d’attente.

callBack a la valeur null.

Remarques

Contrairement à la QueueUserWorkItem méthode, UnsafeQueueUserWorkItem ne propage pas la pile appelante au thread de travail. Cela permet au code de perdre la pile appelante et ainsi d’élever ses privilèges de sécurité.

Avertissement

L’utilisation UnsafeQueueUserWorkItem pourrait ouvrir par inadvertance un trou de sécurité. La sécurité de l’accès au code base ses contrôles d’autorisation sur les autorisations de tous les appelants sur la pile. Lorsque le travail est mis en file d’attente sur un thread de pool de threads à l’aide UnsafeQueueUserWorkItemd’un thread de pool de threads, la pile du thread de pool de threads n’aura pas le contexte des appelants réels. Le code malveillant peut être en mesure d’exploiter cela pour éviter les vérifications d’autorisation.

Voir aussi

S’applique à

UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)

Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs
Source:
ThreadPoolWorkQueue.cs

Met en file d’attente une méthode spécifiée par un Action<T> délégué pour l’exécution et spécifie un objet contenant des données à utiliser par la méthode. La méthode s’exécute lorsqu’un thread de pool de threads devient disponible.

public:
generic <typename TState>
 static bool UnsafeQueueUserWorkItem(Action<TState> ^ callBack, TState state, bool preferLocal);
public static bool UnsafeQueueUserWorkItem<TState>(Action<TState> callBack, TState state, bool preferLocal);
static member UnsafeQueueUserWorkItem : Action<'State> * 'State * bool -> bool
Public Shared Function UnsafeQueueUserWorkItem(Of TState) (callBack As Action(Of TState), state As TState, preferLocal As Boolean) As Boolean

Paramètres de type

TState

Type d’éléments de state.

Paramètres

callBack
Action<TState>

Délégué représentant la méthode à exécuter.

state
TState

Objet contenant des données à utiliser par la méthode.

preferLocal
Boolean

true pour préférer mettre en file d’attente l’élément de travail dans une file d’attente proche du thread actuel ; false pour préférer mettre en file d’attente l’élément de travail à la file d’attente partagée du pool de threads.

Retours

true si la méthode est correctement mise en file d’attente ; NotSupportedException est levée si l’élément de travail n’a pas pu être mis en file d’attente.

Exceptions

callBack a la valeur null.

L’élément de travail n’a pas pu être mis en file d’attente.

S’applique à