ThreadPool.UnsafeQueueUserWorkItem Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.