task_continuation_context Sınıfı

sınıfı, task_continuation_context devamın yürütülmesini istediğiniz yeri belirtmenize olanak tanır. Bu sınıfı yalnızca bir Windows Çalışma Zamanı uygulamasından kullanmak yararlıdır. Windows Çalışma Zamanı olmayan uygulamalar için görev devamlılığı yürütme bağlamı çalışma zamanı tarafından belirlenir ve yapılandırılamaz.

Sözdizimi

class task_continuation_context : public details::_ContextCallback;

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
get_current_winrt_context Geçerli WinRT iş parçacığı bağlamını temsil eden mevcut görev devam bağlamı nesnesini döndürür.
rastgele_kullan Çalışma Zamanının bir devamlılık için yürütme bağlamını seçmesini sağlayan bir görev devamlılığı bağlamı oluşturur.
use_current Mevcut yürütme bağlamını temsil eden bir görev devamı bağlam nesnesi döndürür.
varsayılanı_kullan Varsayılan görev devamlılığı bağlamını oluşturur.
use_synchronous_execution Eşzamanlı yürütme bağlamını temsil eden bir görev devam bağlamı nesnesi döndürür.

Devralma Hiyerarşisi

_ContextCallback

task_continuation_context

Gereksinimler

Üst bilgi: ppltasks.h

Ad alanı: eşzamanlılık

get_current_winrt_context

Geçerli WinRT iş parçacığı bağlamını temsil eden bir görev sürekliliği bağlamı nesnesi döndürür.

Sözdizimi

static task_continuation_context get_current_winrt_context();

Dönüş Değeri

Geçerli Windows Runtime iş parçacığı bağlamı. Windows Çalışma Zamanı olmayan bir bağlamdan çağrılırsa boş bir task_continuation_context döndürür.

Açıklamalar

get_current_winrt_context yöntemi, çağıranın Windows Runtime thread bağlamını yakalar. Windows Runtime olmayan çağrıcılara boş bir bağlam döndürür.

tarafından get_current_winrt_context döndürülen değer, çalışma zamanına, öncül görevin daire farkında olup olmadığına bakılmaksızın yakalanan bağlamın (STA vs MTA) daire modelinde devamlılık yürütülmesi gerektiğini belirtmek için kullanılabilir. Apartman farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini açan veya bu tür bir görevden türemiş bir görevdir.

Bu yöntem yöntemine use_current benzer, ancak C++/CX uzantısı desteği olmadan yerel C++ kodu için de kullanılabilir. İleri düzey kullanıcıların hem yerel hem Windows Çalışma Zamanı çağrıcıları için C++/CX-uyumsuz kütüphane kodu yazabilmesi amacıyla tasarlanmıştır. Bu işleve ihtiyacınız yoksa, yalnızca C++/CX istemcileri tarafından kullanılabilen yöntemini öneririz use_current .

use_arbitrary

Çalışma Zamanı ortamının bir devam görevi için yürütme bağlamını seçmesini sağlayan bir görev devamlılığı bağlamı oluşturur.

Sözdizimi

static task_continuation_context use_arbitrary();

Dönüş Değeri

Rastgele bir konumu temsil eden bir görev devamlılığı bağlamı.

Açıklamalar

Bu devamlılık bağlamı kullanıldığında devamlılık, öncül görev dairenin farkında olsa bile çalışma zamanının seçtiği bir bağlamda yürütülür.

use_arbitrary bir STA'da oluşturulan bir daireyi algılayan görevde devam için varsayılan davranışı kapatmak için kullanılabilir.

Bu yöntem yalnızca Windows Çalışma Zamanı uygulamalarda kullanılabilir.

mevcut_kullan

Geçerli yürütme bağlamını temsil eden bir görev sürdürme bağlam nesnesi döndürür.

static task_continuation_context use_current();

Dönüş Değeri

Mevcut yürütme bağlamı.

Açıklamalar

Bu yöntem, devamlılıkların doğru apartmanda yürütülebilmesi için çağıranın Windows Runtime bağlamını yakalar.

tarafından use_current döndürülen değer, çalışma zamanına, öncül görevin daire algılamalı olup olmadığına bakılmaksızın, devamın yakalanan bağlamda (STA vs MTA) yürütülmesi gerektiğini belirtmek için kullanılabilir. Daire farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini çözen veya böyle bir görevden türeyen bir görevdir.

Bu yöntem yalnızca Windows Çalışma Zamanı uygulamalarda kullanılabilir.

varsayılanı kullan

Varsayılan görev devamlılığı bağlamını oluşturur.

static task_continuation_context use_default();

Dönüş Değeri

Varsayılan devamlılık bağlamı.

Açıklamalar

Yöntemini çağırdığınızda then bir devamlılık bağlamı belirtmezseniz varsayılan bağlam kullanılır. Windows 7 ve altı için Windows uygulamalarında ve Windows 8 ve üzeri sürümlerdeki masaüstü uygulamalarında çalışma zamanı, görev devamlılıklarının nerede yürütüleceğini belirler. Ancak, Windows Çalışma Zamanı uygulamasında, apartman farkındalığı olan bir görevdeki devam için varsayılan devam bağlamı, devamın then çağrısının yapıldığı dairedir.

Apartman farkındalığı olan görev, bir Windows Çalışma Zamanı IAsyncInfo arabirimini açan veya bu tür bir görevden türemiş bir görevdir. Bu nedenle, bir Windows Çalışma Zamanı STA'sında apartment ile uyumlu bir görevde bir devam görevini planlarsanız, devam görevini bu STA'da yürütülür.

Daire tanımayan bir görevde devam, Çalışma Zamanı'nın seçtiği bir bağlamda yürütülür.

task_continuation_context::use_synchronous_execution (senkron yürütme kullanımı)

Eşzamanlı yürütme bağlamını temsil eden bir görev devam bağlamı nesnesi döndürür.

Sözdizimi

static task_continuation_context use_synchronous_execution();

Dönüş Değeri

Zaman uyumlu yürütme bağlamı.

Açıklamalar

use_synchronous_execution yöntemi, devamlılık görevini bağlam üzerinde eşzamanlı olarak çalıştırmayı zorlar, böylece öncül görevin tamamlanması sağlanır.

Öncül görev, süreklilik eklendiğinde zaten tamamlanmışsa, devam, sürekliliği ekleyen bağlamda eşzamanlı olarak çalışır.

Ayrıca bkz.

Eşzamanlılık Ad Alanı