ThreadPool.UnsafeQueueUserWorkItem Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 state
tü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ı.