Kelas task_continuation_context

Kelas ini task_continuation_context memungkinkan Anda menentukan di mana Anda ingin kelanjutan dijalankan. 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.
use_arbitrary Membuat konteks kelanjutan tugas yang memungkinkan Runtime memilih konteks eksekusi untuk kelanjutan.
use_current Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi saat ini.
use_default Membuat konteks kelanjutan tugas default.
use_synchronous_execution Mengembalikan objek konteks kelanjutan tugas yang mewakili konteks eksekusi sinkron.

Hierarki Warisan

_ContextCallback

task_continuation_context

Persyaratan

Header: ppltasks.h

Namespace: konkurensi

get_current_winrt_context

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 ini get_current_winrt_context menangkap konteks utas Windows Runtime pemanggil. Ini mengembalikan konteks kosong ke penelepon Runtime non-Windows.

Nilai yang dikembalikan oleh get_current_winrt_context dapat digunakan untuk menunjukkan kepada Runtime bahwa kelanjutan harus dijalankan dalam model apartemen dari konteks yang ditangkap (STA vs MTA), terlepas dari apakah tugas antecedent sadar 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 tingkat lanjut yang menulis kode pustaka C++/CX-agnostik untuk pemanggil asli 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 runtime meskipun tugas antecedent sadar 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.

use_current

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 menunjukkan kepada Runtime bahwa kelanjutan harus dijalankan dalam konteks yang ditangkap (STA vs MTA) terlepas dari apakah tugas antecedent sadar 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.

use_default

Membuat konteks kelanjutan tugas default.

static task_continuation_context use_default();

Tampilkan Nilai

Konteks kelanjutan default.

Keterangan

Konteks default digunakan jika Anda tidak menentukan konteks kelanjutan saat Anda memanggil then metode . Di aplikasi Windows untuk Windows 7 ke bawah, serta aplikasi desktop pada Windows 8 dan yang lebih tinggi, runtime menentukan di mana kelanjutan tugas akan dijalankan. Namun, dalam aplikasi Windows Runtime, konteks kelanjutan default untuk kelanjutan pada tugas sadar apartemen adalah apartemen tempat 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 sadar non-apartemen akan dijalankan dalam konteks yang dipilih 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 ini use_synchronous_execution memaksa tugas kelanjutan berjalan secara sinkron pada konteks, menyebabkan penyelesaian tugas anteksnya.

Jika tugas antecedent telah selesai ketika kelanjutan dilampirkan, kelanjutan berjalan secara sinkron pada konteks yang melampirkan kelanjutan.

Baca juga

Namespace layanan konkurensi