Bagikan melalui


Windows.System.Threading.Core Ruang nama

Membuat item kerja yang berjalan sebagai respons terhadap peristiwa bernama dan semaphores. Juga melakukan pra-alokasi sumber daya untuk item kerja yang harus dijamin kemampuan untuk berjalan, bahkan dalam keadaan alokasi sumber daya yang berat (atau penuh).

Catatan

ThreadPool API didukung untuk desktop serta aplikasi UWP.

PreallocatedWorkItemSaat item kerja dibuat menggunakan ThreadPool. RunAsync, item kerja dibuat dan dikirimkan sebagai operasi tunggal. Ini dapat diterima untuk sebagian besar skenario, tetapi terkadang perlu untuk menyisihkan sumber daya untuk item kerja terlebih dahulu.

Kelas PreallocatedWorkItem membuat item kerja sebelumnya, menempatkan item kerja "siaga" sehingga dapat dikirimkan ke kumpulan utas saat diperlukan. Ini berguna dalam keadaan di mana sumber daya yang tersedia untuk aplikasi Anda sepenuhnya dialokasikan sebelum item kerja diperlukan - misalnya, memanggil rutinitas dealokasi yang menggunakan item kerja. Jika item kerja telah dialokasikan, rutinitas dealokasi sumber daya masih dapat dipanggil dan PreallocatedWorkItem masih dapat dikirimkan ke kumpulan utas meskipun semua sumber daya sudah digunakan. Terkadang perlu untuk mengantre item kerja sebagai respons terhadap peristiwa bernama atau semaphores yang dibuat oleh objek Win32 COM. Anda dapat menjalankan metode Windows Runtime sebagai respons terhadap peristiwa bernama atau semaphore menggunakan objek SignalNotifier . Ini memungkinkan Anda untuk menulis kode Windows Runtime yang merespons peristiwa dan sinyal yang dikirim menggunakan Win32 dan COM untuk , asalkan peristiwa atau semaphore memiliki nama. Misalnya, SignalNotifier dapat digunakan untuk bekerja dengan kode Win32 yang sedang di-port ke aplikasi UWP. ISignalableNotifierTerkadang tidak mungkin untuk mengetahui nama peristiwa atau semaphore, tetapi aplikasi Anda masih perlu menanggapinya; misalnya kode warisan, dan beberapa peristiwa dan semaphores terkenal, masih menggunakan handel yang dapat diantrekan alih-alih nama. ISignalableNotifier memungkinkan Anda membuat objek ISignalNotifier yang terdaftar dengan handel yang dapat ditunggu.

Catatan

Item kerja yang telah dialokasikan sebelumnya hanya diperlukan untuk aplikasi yang mungkin menggunakan semua sumber daya yang tersedia, atau yang perlu membuat item kerja untuk rutinitas dealokasi sumber daya. Pemberi peringatan sinyal hanya berlaku untuk aplikasi tertentu yang menggunakan Win32 dan COM untuk . Jika Anda tidak perlu menggunakan pra-alokasi atau sinyal di aplikasi Anda, buat item kerja dengan menggunakan Windows.System.Threading.

Kelas

PreallocatedWorkItem

Item kerja yang telah dialokasikan sebelumnya dibangun sebelum pengirimannya ke kumpulan utas, memastikan bahwa item kerja dibuat sehingga dapat dikirimkan ke kumpulan utas bila perlu. Misalnya, PreallocatedWorkItem dapat dibuat jika diperlukan untuk rutinitas dealokasi sumber daya, karena rutinitas dealokasi sumber daya dapat dipanggil dalam keadaan ketika tidak cukup sumber daya akan tersedia untuk membuat item kerja.

Catatan

ThreadPool API didukung untuk desktop serta aplikasi UWP.

SignalNotifier

Menjalankan metode ketika peristiwa atau semaphore disinyalkan. Nilai batas waktu juga dapat ditentukan, menyebabkan delegasi berjalan setelah rentang waktu berlalu jika peristiwa bernama tidak terjadi (atau jika semaphore tidak mencapai status sinyal).

Catatan

ThreadPool API didukung untuk desktop serta aplikasi UWP.

Delegasikan

SignalHandler

Mewakili metode yang dipanggil ketika peristiwa atau semaphore terlampir pemberitahuan sinyal, atau ketika nilai batas waktu opsional telah berlalu (mana yang lebih dulu).