DispatcherQueue.TryEnqueue 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 |
|---|---|
| TryEnqueue(DispatcherQueueHandler) |
Menambahkan tugas ke DispatcherQueue yang akan dijalankan pada utas yang terkait dengan DispatcherQueue. |
| TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler) |
Menambahkan tugas ke DispatcherQueue yang akan dijalankan pada utas yang terkait dengan DispatcherQueue dengan prioritas yang ditentukan. |
TryEnqueue(DispatcherQueueHandler)
Menambahkan tugas ke DispatcherQueue yang akan dijalankan pada utas yang terkait dengan DispatcherQueue.
public:
virtual bool TryEnqueue(DispatcherQueueHandler ^ callback) = TryEnqueue;
[Windows.Foundation.Metadata.Overload("TryEnqueue")]
public bool TryEnqueue(DispatcherQueueHandler callback);
function tryEnqueue(callback)
Public Function TryEnqueue (callback As DispatcherQueueHandler) As Boolean
Parameter
- callback
- DispatcherQueueHandler
Delegasi ke tugas yang akan dijalankan.
Mengembalikan
bool
True jika tugas ditambahkan ke antrean. Jika tidak, salah.
- Atribut
Contoh
Contoh berikut menunjukkan cara membuat utas baru dan menginisialisasi DispatcherQueueController dan menjalankan perulangan peristiwa DispatcherQueue di atasnya.
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue. The
// first TryEnqueue task is guaranteed to be invoked first on the new
// thread.
bool isQueued = _queue.TryEnqueue(
() =>
{
// task to perform on another thread.
});
Keterangan
Antrean akan memanggil panggilan balik secara serial.
Setelah ShutdownQueueAsync() dipanggil, antrean tidak akan mengantre tugas baru dan metode ini akan mengembalikan false.
Berlaku untuk
TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)
Menambahkan tugas ke DispatcherQueue yang akan dijalankan pada utas yang terkait dengan DispatcherQueue dengan prioritas yang ditentukan.
public:
virtual bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler ^ callback) = TryEnqueue;
[Windows.Foundation.Metadata.Overload("TryEnqueueWithPriority")]
public bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler callback);
function tryEnqueue(priority, callback)
Public Function TryEnqueue (priority As DispatcherQueuePriority, callback As DispatcherQueueHandler) As Boolean
Parameter
- priority
- DispatcherQueuePriority
Prioritas tugas (seperti Rendah, Normal, atau Tinggi).
- callback
- DispatcherQueueHandler
Delegasi ke tugas yang akan dijalankan.
Mengembalikan
bool
True jika tugas ditambahkan ke antrean. Jika tidak, salah.
- Atribut
Contoh
Contoh berikut menunjukkan cara membuat utas baru dan menginisialisasi DispatcherQueueController dan menjalankan perulangan peristiwa DispatcherQueue di atasnya.
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue. The
// first TryEnqueue task is guaranteed to be invoked first on the new
// thread, regardless of what priority it was enqueued at.
bool isQueued = _queue.TryEnqueue(Windows.System.DispatcherQueuePriority.High,
() =>
{
// task to perform on another thread.
});
Keterangan
Antrean akan memanggil panggilan balik secara serial dan dalam urutan prioritas.
Setelah ShutdownQueueAsync() dipanggil, antrean tidak akan mengantre tugas baru dan metode ini akan mengembalikan false.