ThreadPool.UnsafeQueueUserWorkItem Metoda

Definice

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.

Platí pro