ThreadPool.UnsafeQueueUserWorkItem Yöntem

Tanım

Aşırı Yüklemeler

UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

Belirtilen iş öğesi nesnesini iş parçacığı havuzuna kuyruğa alır.

UnsafeQueueUserWorkItem(WaitCallback, Object)

Belirtilen temsilciyi iş parçacığı havuzuna kuyruğa alır, ancak çağıran yığını çalışan iş parçacığına yaymaz.

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

Yürütme için bir temsilci tarafından belirtilen bir Action<T> yöntemi kuyruğa alır ve yöntemi tarafından kullanılacak verileri içeren bir nesneyi belirtir. bir iş parçacığı havuzu iş parçacığı kullanılabilir olduğunda yöntemi yürütülür.

UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)

Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs

Belirtilen iş öğesi nesnesini iş parçacığı havuzuna kuyruğa alır.

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

Parametreler

callBack
IThreadPoolWorkItem

İş parçacığı havuzundaki bir iş parçacığı iş öğesini aldığında çağrılacak iş öğesi.

preferLocal
Boolean

true iş öğesini geçerli iş parçacığına yakın bir kuyrukta kuyruğa almak; false iş öğesini iş parçacığı havuzunun paylaşılan kuyruğuna kuyruğa almak.

Döndürülenler

true yöntem başarılı olursa; OutOfMemoryException iş öğesi kuyruğa alınamadıysa oluşturulur.

Özel durumlar

callback, null değeridir.

İş öğesi bir Tasköğesidir.

İş öğesi kuyruğa alınamadı.

Açıklamalar

İş parçacığı havuzu, iş öğesinin Execute() yöntemini çağırır. Gerekirse yaymak ExecutionContext iş öğesinin sorumluluğundadır; iş parçacığı havuzu bunu yapmaz.

Şunlara uygulanır

UnsafeQueueUserWorkItem(WaitCallback, Object)

Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs

Belirtilen temsilciyi iş parçacığı havuzuna kuyruğa alır, ancak çağıran yığını çalışan iş parçacığına yaymaz.

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

Parametreler

callBack
WaitCallback

İş WaitCallback parçacığı havuzundaki bir iş parçacığı iş öğesini aldığında çağrılacak temsilciyi temsil eden.

state
Object

İş parçacığı havuzundan hizmet verildiğinde temsilciye geçirilen nesne.

Döndürülenler

true yöntem başarılı olursa; OutOfMemoryException iş öğesi kuyruğa alınamadıysa oluşturulur.

Öznitelikler

Özel durumlar

Çağıranın gerekli izni yok.

Bellek yetersiz durumuyla karşılaşıldı.

İş öğesi kuyruğa alınamadı.

callBack, null değeridir.

Açıklamalar

yönteminden QueueUserWorkItem farklı olarak, UnsafeQueueUserWorkItem çağıran yığını çalışan iş parçacığına yaymaz. Bu, kodun çağrı yığınını kaybetmesine ve böylece güvenlik ayrıcalıklarını yükseltmesine olanak tanır.

Dikkat

kullanmak UnsafeQueueUserWorkItem istemeden bir güvenlik deliği açabilir. Kod erişimi güvenliği, izin denetimlerini yığındaki tüm çağıranların izinlerine dayandırmaktadır. kullanılarak iş parçacığı havuzu iş parçacığında UnsafeQueueUserWorkItemiş kuyruğuna alındığında, iş parçacığı havuzu iş parçacığı yığını gerçek çağıranların bağlamını içermez. Kötü amaçlı kod, izin denetimlerini önlemek için bu durumdan yararlanabilir.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs
Kaynak:
ThreadPoolWorkQueue.cs

Yürütme için bir temsilci tarafından belirtilen bir Action<T> yöntemi kuyruğa alır ve yöntemi tarafından kullanılacak verileri içeren bir nesneyi belirtir. bir iş parçacığı havuzu iş parçacığı kullanılabilir olduğunda yöntemi yürütülür.

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

Tür Parametreleri

TState

öğelerinin statetürü.

Parametreler

callBack
Action<TState>

Yürütülecek yöntemi temsil eden bir temsilci.

state
TState

yöntemi tarafından kullanılacak verileri içeren bir nesne.

preferLocal
Boolean

true iş öğesini geçerli iş parçacığına yakın bir kuyrukta kuyruğa almak; false iş öğesini iş parçacığı havuzunun paylaşılan kuyruğuna kuyruğa almak.

Döndürülenler

true yöntem başarıyla kuyruğa alınırsa; NotSupportedException iş öğesi kuyruğa alınamadıysa oluşturulur.

Özel durumlar

callback, null değeridir.

İş öğesi kuyruğa alınamadı.

Şunlara uygulanır