ThreadPool.UnsafeQueueUserWorkItem Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean) |
Köar det angivna arbetsobjektobjektet till trådpoolen. |
| UnsafeQueueUserWorkItem(WaitCallback, Object) |
Köar det angivna ombudet till trådpoolen, men sprider inte den anropande stacken till arbetstråden. |
| UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean) |
Köar en metod som anges av ett Action<T> ombud för körning och anger ett objekt som innehåller data som ska användas av metoden. Metoden körs när en trådpoolstråd blir tillgänglig. |
UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
Köar det angivna arbetsobjektobjektet till trådpoolen.
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
Parametrar
- callBack
- IThreadPoolWorkItem
Arbetsobjektet som ska anropas när en tråd i trådpoolen hämtar arbetsobjektet.
- preferLocal
- Boolean
true att föredra att köa arbetsobjektet i en kö nära den aktuella tråden; false att föredra att köa arbetsobjektet till trådpoolens delade kö.
Returer
true om metoden lyckas; OutOfMemoryException utlöses om arbetsobjektet inte kunde placeras i kö.
Undantag
callBack är null.
Arbetsobjektet är en Task.
Det gick inte att placera arbetsobjektet i kö.
Kommentarer
Trådpoolen anropar arbetsobjektets Execute() metod. Det är arbetsobjektets ansvar att sprida ExecutionContext om det behövs. Det gör inte trådpoolen.
Gäller för
UnsafeQueueUserWorkItem(WaitCallback, Object)
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
Köar det angivna ombudet till trådpoolen, men sprider inte den anropande stacken till arbetstråden.
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
Parametrar
- callBack
- WaitCallback
En WaitCallback som representerar ombudet som ska anropas när en tråd i trådpoolen hämtar arbetsobjektet.
- state
- Object
Objektet som skickas till ombudet när det hanteras från trådpoolen.
Returer
true om metoden lyckas; OutOfMemoryException utlöses om arbetsobjektet inte kunde placeras i kö.
- Attribut
Undantag
Anroparen har inte den behörighet som krävs.
Ett out-of-memory-villkor påträffades.
Det gick inte att placera arbetsobjektet i kö.
callBack är null.
Kommentarer
QueueUserWorkItem Till skillnad från metoden UnsafeQueueUserWorkItem sprids inte anropsstacken till arbetstråden. Detta gör att koden kan förlora anropsstacken och därmed höja dess säkerhetsprivilegier.
Caution
Användning UnsafeQueueUserWorkItem kan oavsiktligt öppna ett säkerhetshål. Kodåtkomstsäkerhet baserar sina behörighetskontroller på behörigheterna för alla anropare i stacken. När arbetet placeras i en trådpoolstråd med , UnsafeQueueUserWorkItemkommer trådpooltrådens stack inte att ha kontexten för de faktiska anroparna. Skadlig kod kan utnyttja detta för att undvika behörighetskontroller.
Se även
Gäller för
UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
- Källa:
- ThreadPoolWorkQueue.cs
Köar en metod som anges av ett Action<T> ombud för körning och anger ett objekt som innehåller data som ska användas av metoden. Metoden körs när en trådpoolstråd blir tillgänglig.
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
Typparametrar
- TState
Typ av element i state.
Parametrar
- callBack
- Action<TState>
Ett ombud som representerar metoden som ska köras.
- state
- TState
Ett objekt som innehåller data som ska användas av metoden.
- preferLocal
- Boolean
true att föredra att köa arbetsobjektet i en kö nära den aktuella tråden; false att föredra att köa arbetsobjektet till trådpoolens delade kö.
Returer
true om metoden har placerats i kö. NotSupportedException utlöses om arbetsobjektet inte kunde placeras i kö.
Undantag
callBack är null.
Det gick inte att placera arbetsobjektet i kö.