Bagikan melalui


Kelas task_continuation_context

Kelas task_continuation_context ini memungkinkan Anda menentukan di mana Anda ingin pelanjutan dieksekusi. Hanya berguna untuk menggunakan kelas ini dari aplikasi Windows Runtime. Untuk aplikasi Runtime non-Windows, konteks eksekusi kelanjutan tugas ditentukan oleh runtime, dan tidak dapat dikonfigurasi.

Sintaks

class task_continuation_context : public details::_ContextCallback;

Anggota

Metode Publik

Nama Deskripsi
get_current_winrt_context Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks utas winrt saat ini.
gunakan_sewenang-wenang Membuat konteks kelanjutan tugas yang memungkinkan Runtime memilih konteks eksekusi untuk kelanjutan.
gunakan_saat_ini Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi saat ini.
use_default Menciptakan konteks lanjutan tugas bawaan.
use_synchronous_execution Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi sinkron.

Hierarki Pewarisan

_ContextCallback

task_continuation_context

Persyaratan

Header: ppltasks.h

Namespace: konkurensi

dapatkan_konteks_winrt_saat_ini

Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks utas WinRT saat ini.

Sintaks

static task_continuation_context get_current_winrt_context();

Tampilkan Nilai

Konteks utas Windows Runtime saat ini. Mengembalikan task_continuation_context kosong jika dipanggil dari konteks Runtime non-Windows.

Keterangan

Metode get_current_winrt_context ini menangkap konteks utas Windows Runtime dari pemanggil. Ini mengembalikan konteks kosong ke pemanggil Runtime non-Windows.

Nilai yang dikembalikan oleh get_current_winrt_context dapat digunakan untuk menandakan ke Runtime bahwa kelanjutan harus dijalankan dalam model apartemen dari konteks yang ditangkap (STA dan MTA), meskipun tugas sebelumnya tidak mengetahui konteks apartemen. Tugas sadar apartemen adalah tugas yang membongkar antarmuka Windows Runtime IAsyncInfo , atau tugas yang turun dari tugas seperti itu.

Metode ini mirip use_current dengan metode ini, tetapi juga tersedia untuk kode C++ asli tanpa dukungan ekstensi C++/CX. Ini ditujukan untuk digunakan oleh pengguna mahir yang menulis kode pustaka agnostik C++/CX untuk pemanggil native dan Windows Runtime. Kecuali Anda memerlukan fungsionalitas ini, kami merekomendasikan use_current metode , yang hanya tersedia untuk klien C++/CX.

use_arbitrary

Membuat konteks kelanjutan tugas yang memungkinkan Runtime memilih konteks eksekusi untuk kelanjutan.

Sintaks

static task_continuation_context use_arbitrary();

Tampilkan Nilai

Konteks kelanjutan tugas yang mewakili lokasi arbitrer.

Keterangan

Ketika konteks kelanjutan ini digunakan, kelanjutan akan dijalankan dalam konteks yang dipilih oleh runtime, meskipun tugas antecedent sadar akan apartemen.

use_arbitrary dapat digunakan untuk menonaktifkan perilaku default untuk kelanjutan pada tugas sadar apartemen yang dibuat di STA.

Metode ini hanya tersedia untuk aplikasi Windows Runtime.

gunakan_sekarang

Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi saat ini.

static task_continuation_context use_current();

Tampilkan Nilai

Konteks eksekusi saat ini.

Keterangan

Metode ini menangkap konteks Windows Runtime penelepon sehingga kelanjutan dapat dijalankan di apartemen yang tepat.

Nilai yang dikembalikan oleh use_current dapat digunakan untuk memberi tahu Runtime agar kelanjutan dijalankan dalam konteks yang ditangkap (STA vs MTA), terlepas dari apakah tugas sebelumnya mendukung model apartemen atau tidak. Tugas sadar apartemen adalah tugas yang membongkar antarmuka Windows Runtime IAsyncInfo , atau tugas yang turun dari tugas seperti itu.

Metode ini hanya tersedia untuk aplikasi Windows Runtime.

gunakan pengaturan default

Menciptakan konteks lanjutan tugas bawaan.

static task_continuation_context use_default();

Tampilkan Nilai

Konteks penerusan bawaan.

Keterangan

Konteks default digunakan jika Anda tidak menentukan konteks kelanjutan saat Anda memanggil then metode . Di aplikasi Windows untuk Windows 7 dan versi sebelumnya, serta aplikasi desktop pada Windows 8 dan versi lebih tinggi, runtime menentukan di mana penyelesaian tugas akan dijalankan. Namun, dalam aplikasi Windows Runtime, konteks lanjutan default untuk kelanjutan pada tugas yang memahami konteks apartemen adalah apartemen di mana then dipanggil.

Tugas sadar apartemen adalah tugas yang membongkar antarmuka Windows Runtime IAsyncInfo , atau tugas yang turun dari tugas seperti itu. Oleh karena itu, jika Anda menjadwalkan kelanjutan pada tugas sadar apartemen di Windows Runtime STA, kelanjutannya akan dijalankan di STA tersebut.

Kelanjutan pada tugas yang tidak menyadari apartemen akan dijalankan dalam konteks yang dipilih oleh Runtime.

task_continuation_context::use_synchronous_execution

Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi sinkron.

Sintaks

static task_continuation_context use_synchronous_execution();

Tampilkan Nilai

Konteks eksekusi sinkron.

Keterangan

Metode use_synchronous_execution memaksa tugas lanjutan untuk berjalan secara sinkron pada konteks, mengakibatkan penyelesaian tugas pendahulunya.

Jika tugas pendahulu telah selesai saat kelanjutan dilampirkan, kelanjutan berjalan sinkron di konteks yang melampirkan kelanjutan.

Lihat juga

Namespace layanan konkurensi