ThreadPool.UnsafeQueueUserWorkItem Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean) |
Zařadí zadaný objekt pracovní položky do fondu vláken. |
| UnsafeQueueUserWorkItem(WaitCallback, Object) |
Zařadí zadaný delegát do fondu vláken, ale nešíruje volající zásobník do pracovního vlákna. |
| UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean) |
Zařadí metodu určenou delegátem Action<T> pro spuštění a určuje objekt obsahující data, která má metoda použít. Metoda se spustí, když bude k dispozici vlákno fondu vláken. |
UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
Zařadí zadaný objekt pracovní položky do fondu vláken.
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
Parametry
- callBack
- IThreadPoolWorkItem
Pracovní položka, která se má vyvolat, když vlákno ve fondu vláken vybere pracovní položku.
- preferLocal
- Boolean
true preferovat frontu pracovní položky ve frontě blízko aktuálního vlákna; false upřednostňovat frontu pracovní položky do sdílené fronty fondu vláken.
Návraty
true pokud je metoda úspěšná; OutOfMemoryException je vyvolán, pokud pracovní položku nelze zařadit do fronty.
Výjimky
callBack je null.
Pracovní položka je .Task
Pracovní položku nelze zařadit do fronty.
Poznámky
Fond vláken vyvolá metodu pracovní položky Execute() . Je zodpovědností této pracovní položky, aby se v případě potřeby šířily ExecutionContext . Fond vláken to neudělá.
Platí pro
UnsafeQueueUserWorkItem(WaitCallback, Object)
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
Zařadí zadaný delegát do fondu vláken, ale nešíruje volající zásobník do pracovního vlákna.
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
Parametry
- callBack
- WaitCallback
A WaitCallback , který představuje delegáta, který se má vyvolat, když vlákno ve fondu vláken převezme pracovní položku.
- state
- Object
Objekt, který se předá delegátu při obsluhování z fondu vláken.
Návraty
true pokud je metoda úspěšná; OutOfMemoryException je vyvolán, pokud pracovní položku nelze zařadit do fronty.
- Atributy
Výjimky
Volající nemá požadované oprávnění.
Došlo k nedostatku paměti.
Pracovní položku nelze zařadit do fronty.
callBack je null.
Poznámky
QueueUserWorkItem Na rozdíl od metody UnsafeQueueUserWorkItem nešíruje volající zásobník do pracovního vlákna. To umožňuje kódu ztratit volající zásobník a tím zvýšit jeho oprávnění zabezpečení.
Caution
Použití UnsafeQueueUserWorkItem by mohlo neúmyslně otevřít bezpečnostní díru. Zabezpečení přístupu kódu zakládá svá oprávnění na oprávněních všech volajících v zásobníku. Pokud je práce zařazena do fronty ve vlákně fondu vláken pomocí UnsafeQueueUserWorkItem, zásobník vlákna fondu vláken nebude mít kontext skutečných volajících. Škodlivý kód by mohl zneužít, aby se zabránilo kontrolám oprávnění.
Viz také
Platí pro
UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
- Zdroj:
- ThreadPoolWorkQueue.cs
Zařadí metodu určenou delegátem Action<T> pro spuštění a určuje objekt obsahující data, která má metoda použít. Metoda se spustí, když bude k dispozici vlákno fondu vláken.
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
Parametry typu
- TState
Typ prvků state.
Parametry
- callBack
- Action<TState>
Delegát představující metodu, která se má provést.
- state
- TState
Objekt obsahující data, která se mají použít metodou.
- preferLocal
- Boolean
true preferovat frontu pracovní položky ve frontě blízko aktuálního vlákna; false upřednostňovat frontu pracovní položky do sdílené fronty fondu vláken.
Návraty
true pokud je metoda úspěšně zařazena do fronty; NotSupportedException je vyvolán, pokud pracovní položku nelze zařadit do fronty.
Výjimky
callBack je null.
Pracovní položku nelze zařadit do fronty.