Share via


completion_future 類別

表示對應至 C++ AMP 非同步作業的未來。

語法

class completion_future;

成員

公用建構函式

名稱 描述
completion_future建構函式 初始化 completion_future 類別的新執行個體。
~completion_future解構函式 completion_future終結 物件。

公用方法

名稱 描述
get 等候相關聯的非同步作業完成。
然後 將回呼函式物件鏈結至 completion_future 相關聯的非同步作業完成執行時所要執行的 物件。
to_task task 回對應至相關聯非同步作業的物件。
有效 取得布林值,該值會指出物件是否與非同步作業相關聯。
封鎖,直到相關聯的非同步作業完成為止。
wait_for 封鎖,直到相關聯的非同步作業完成或指定的 _Rel_time 時間已經過去為止。
wait_until 封鎖直到相關聯的非同步作業完成,或直到目前時間超過 所指定的值為止 _Abs_time

公用運算子

名稱 描述
operator std::shared_future < void> 以隱含方式將 completion_future 物件 std::shared_future 轉換成 物件。
operator= 將指定 completion_future 之物件的內容複寫到這個物件中。

繼承階層架構

completion_future

需求

標頭: amprt.h

命名空間: concurrency

completion_future

初始化 completion_future 類別的新執行個體。

語法

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

參數

_其他
completion_future 複製或移動的物件。

多載清單

名稱 描述
completion_future(); 初始化 類別的新實例 completion_future
completion_future(const completion_future& _Other); 藉由複製建構函式,初始化 類別的新實例 completion_future
completion_future(completion_future&& _Other); 藉由移動建構函式,初始化 類別的新實例 completion_future

get

等候相關聯的非同步作業完成。 如果在非同步作業期間遇到儲存的例外狀況,則擲回該例外狀況。

語法

void get() const;

operator std::shared_future < void>

以隱含方式將 completion_future 物件 std::shared_future 轉換成 物件。

語法

operator std::shared_future<void>() const;

傳回值

std::shared_future 物件。

operator=

將指定 completion_future 之物件的內容複寫到這個物件中。

語法

completion_future&  operator= (const completion_future& _Other );
completion_future&  operator= (completion_future&& _Other );

參數

_其他
要從中複製的物件。

傳回值

這個 completion_future 物件的參考。

多載清單

名稱 描述
completion_future& operator=(const completion_future& _Other); 使用深層複製,將指定 completion_future 物件的內容複寫到這個物件中。
completion_future& operator=(completion_future&& _Other); 使用移動指派,將指定 completion_future 物件的內容複寫到這個物件中。

然後在受影響的網域控制站上執行

將回呼函式物件鏈結至 completion_future 相關聯的非同步作業完成執行時所要執行的 物件。

語法

template <typename _Functor>
void then(const _Functor & _Func ) const;

參數

_函
回呼函式。

_Func
回呼函式物件。

to_task

task 回對應至相關聯非同步作業的物件。

語法

concurrency::task<void> to_task() const;

傳回值

task對應至相關聯非同步作業的物件。

有效

取得布林值,該值會指出物件是否與非同步作業相關聯。

語法

bool valid() const;

傳回值

true 如果物件與非同步作業相關聯,則為 ;否則為 false

wait

封鎖,直到相關聯的非同步作業完成為止。

語法

void wait() const;

wait_for

封鎖,直到相關聯的非同步作業完成,或指定的 _Rel_time 時間已經過去。

語法

template <
    class _Rep,
    class _Period
>
std::future_status::future_status wait_for(
    const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;

參數

_代表
表示刻度數目的算術類型。

_時期
std::ratio,表示每個刻度經過的秒數。

_Rel_time
等候作業完成的時間上限。

傳回值

傳回:

  • std::future_status::deferred 如果相關聯的非同步作業未執行,則為 。

  • std::future_status::ready 如果相關聯的非同步作業已完成,則為 。

  • std::future_status::timeout 如果指定的時間週期已經過去,則為 。

wait_until

封鎖直到相關聯的非同步作業完成,或直到目前時間超過 所指定的值為止 _Abs_time

語法

template <
    class _Clock,
    class _Duration
>
std::future_status::future_status wait_until(
    const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;

參數

_時鐘
測量這個時間點的時鐘。

_時間
自 epoch 開始之後的 _Clock 時間間隔,之後函式將會逾時。

_Abs_time
函式逾時的時間點。

傳回值

傳回:

  1. std::future_status::deferred 如果相關聯的非同步作業未執行,則為 。

  2. std::future_status::ready 如果相關聯的非同步作業已完成,則為 。

  3. std::future_status::timeout 如果指定的時間週期已經過去,則為 。

~completion_future

completion_future終結 物件。

語法

~completion_future();

另請參閱

Concurrency 命名空間 (C++ AMP)