ThreadPool.UnsafeQueueUserWorkItem Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean) |
Mengantrekan objek item kerja yang ditentukan ke kumpulan utas. |
| UnsafeQueueUserWorkItem(WaitCallback, Object) |
Mengantrekan delegasi yang ditentukan ke kumpulan utas, tetapi tidak menyebarluaskan tumpukan panggilan ke utas pekerja. |
| UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean) |
Mengantrekan metode yang ditentukan oleh Action<T> delegasi untuk eksekusi, dan menentukan objek yang berisi data yang akan digunakan oleh metode . Metode ini dijalankan ketika utas kumpulan utas tersedia. |
UnsafeQueueUserWorkItem(IThreadPoolWorkItem, Boolean)
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
Mengantrekan objek item kerja yang ditentukan ke kumpulan utas.
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
Parameter
- callBack
- IThreadPoolWorkItem
Item kerja yang akan dipanggil saat utas di kumpulan utas mengambil item kerja.
- preferLocal
- Boolean
true untuk lebih memilih antrean item kerja dalam antrean yang dekat dengan utas saat ini; false untuk lebih memilih antrean item kerja ke antrean bersama kumpulan utas.
Mengembalikan
true jika metode berhasil; OutOfMemoryException dilemparkan jika item kerja tidak dapat diantrekan.
Pengecualian
callBack adalah null.
Item kerja adalah Task.
Item kerja tidak dapat diantrekan.
Keterangan
Kumpulan utas akan memanggil metode item Execute() kerja. Merupakan tanggung jawab item kerja tersebut untuk disebarluaskan ExecutionContext jika diperlukan; kumpulan utas tidak akan melakukannya.
Berlaku untuk
UnsafeQueueUserWorkItem(WaitCallback, Object)
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
Mengantrekan delegasi yang ditentukan ke kumpulan utas, tetapi tidak menyebarluaskan tumpukan panggilan ke utas pekerja.
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
Parameter
- callBack
- WaitCallback
WaitCallback yang mewakili delegasi untuk dipanggil saat utas di kumpulan utas mengambil item kerja.
- state
- Object
Objek yang diteruskan ke delegasi saat dilayankan dari kumpulan utas.
Mengembalikan
true jika metode berhasil; OutOfMemoryException dilemparkan jika item kerja tidak dapat diantrekan.
- Atribut
Pengecualian
Pemanggil tidak memiliki izin yang diperlukan.
Kondisi kehabisan memori ditemui.
Item kerja tidak dapat diantrekan.
callBack adalah null.
Keterangan
Tidak seperti metode , QueueUserWorkItemUnsafeQueueUserWorkItem tidak menyebarluaskan tumpukan panggilan ke utas pekerja. Ini memungkinkan kode untuk kehilangan tumpukan panggilan dan dengan demikian untuk meningkatkan hak istimewa keamanannya.
Caution
Menggunakan UnsafeQueueUserWorkItem secara tidak sengaja dapat membuka lubang keamanan. Keamanan akses kode mendasarkan pemeriksaan izinnya pada izin semua pemanggil di tumpukan. Ketika pekerjaan diantrekan pada utas kumpulan utas menggunakan UnsafeQueueUserWorkItem, tumpukan utas kumpulan utas tidak akan memiliki konteks pemanggil yang sebenarnya. Kode berbahaya mungkin dapat mengeksploitasi ini untuk menghindari pemeriksaan izin.
Lihat juga
Berlaku untuk
UnsafeQueueUserWorkItem<TState>(Action<TState>, TState, Boolean)
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
- Sumber:
- ThreadPoolWorkQueue.cs
Mengantrekan metode yang ditentukan oleh Action<T> delegasi untuk eksekusi, dan menentukan objek yang berisi data yang akan digunakan oleh metode . Metode ini dijalankan ketika utas kumpulan utas tersedia.
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
Jenis parameter
- TState
Jenis elemen .state
Parameter
- callBack
- Action<TState>
Delegasi yang mewakili metode untuk dijalankan.
- state
- TState
Objek yang berisi data yang akan digunakan oleh metode .
- preferLocal
- Boolean
true untuk lebih memilih antrean item kerja dalam antrean yang dekat dengan utas saat ini; false untuk lebih memilih antrean item kerja ke antrean bersama kumpulan utas.
Mengembalikan
true jika metode berhasil diantrekan; NotSupportedException dilemparkan jika item kerja tidak dapat diantrekan.
Pengecualian
callBack adalah null.
Item kerja tidak dapat diantrekan.