Bagikan melalui


future Kelas

Menjelaskan objek pengembalian asinkron.

Sintaks

template <class Ty>
class future;

Keterangan

Setiap penyedia asinkron standar mengembalikan objek yang jenisnya adalah instans templat ini. Objek future menyediakan satu-satunya akses ke penyedia asinkron yang terkait dengannya. Jika Anda memerlukan beberapa objek pengembalian asinkron yang terkait dengan penyedia asinkron yang sama, salin future objek ke shared_future objek.

Anggota

Konstruktor Publik

Nama Deskripsi
future Membuat future objek.

Metode Publik

Nama Deskripsi
get Mengambil hasil yang disimpan dalam status asinkron terkait.
share Mengonversi objek menjadi shared_future.
valid Menentukan apakah objek tidak kosong.
wait Memblokir utas saat ini hingga status asinkron terkait siap.
wait_for Memblokir hingga status asinkron terkait siap atau sampai waktu yang ditentukan berlalu.
wait_until Memblokir hingga status asinkron terkait siap atau sampai titik waktu yang ditentukan.

Operator Publik

Nama Deskripsi
future::operator= Mentransfer status asinkron terkait dari objek tertentu.

Persyaratan

Header: <future>

kumpulan nama XML: std

Konstruktor

Membuat future objek.

future() noexcept;
future(future&& Other) noexcept;

Parameter

Other
Objek future.

Keterangan

Konstruktor pertama membangun future objek yang tidak memiliki status asinkron terkait.

Konstruktor kedua membangun future objek dan mentransfer status asinkron terkait dari Lainnya. Lainnya tidak lagi memiliki status asinkron terkait.

get

Mengambil hasil yang disimpan dalam status asinkron terkait.

Ty get();

Tampilkan Nilai

Jika hasilnya adalah pengecualian, metode akan menumbuhkannya kembali. Jika tidak, hasilnya dikembalikan.

Keterangan

Sebelum mengambil hasilnya, metode ini memblokir utas saat ini hingga status asinkron terkait siap.

Untuk spesialisasi future<Ty&>parsial , nilai yang disimpan secara efektif merupakan referensi ke objek yang diteruskan ke penyedia asinkron sebagai nilai pengembalian.

Karena tidak ada nilai tersimpan untuk spesialisasi future<void>, metode mengembalikan void.

Dalam spesialisasi lain, metode memindahkan nilai pengembaliannya dari nilai tersimpan. Oleh karena itu, panggil metode ini hanya sekali.

operator=

Mentransfer status asinkron terkait dari objek tertentu.

future& operator=(future&& Right) noexcept;

Parameter

Kanan
Objek future.

Tampilkan Nilai

*this

Keterangan

Setelah transfer, Hak tidak lagi memiliki status asinkron terkait.

share

Mengonversi objek menjadi shared_future objek.

shared_future<Ty> share();

Tampilkan Nilai

shared_future(move(*this))

valid

Menentukan apakah objek memiliki status asinkron terkait.

bool valid() noexcept;

Tampilkan Nilai

true jika objek memiliki status asinkron terkait; jika tidak, false.

wait

Memblokir utas saat ini hingga status asinkron terkait siap.

void wait() const;

Keterangan

Status asinkron terkait hanya siap jika penyedia asinkronnya telah menyimpan nilai pengembalian atau menyimpan pengecualian.

wait_for

Memblokir utas saat ini hingga status asinkron terkait siap atau sampai interval waktu yang ditentukan berlalu.

template <class Rep, class Period>
future_status wait_for(const chrono::duration<Rep, Period>& Rel_time) const;

Parameter

Rel_time
Objek chrono::duration yang menentukan interval waktu maksimum yang diblokir utas.

Tampilkan Nilai

Yang future_status menunjukkan alasan untuk kembali.

Keterangan

Status asinkron terkait hanya siap jika penyedia asinkronnya telah menyimpan nilai pengembalian atau menyimpan pengecualian.

wait_until

Memblokir utas saat ini hingga status asinkron terkait siap atau sampai setelah titik waktu yang ditentukan.

template <class Clock, class Duration>
future_status wait_until(const chrono::time_point<Clock, Duration>& Abs_time) const;

Parameter

Abs_time
Objek time_point yang menentukan waktu setelah itu utas dapat membuka blokir.

Tampilkan Nilai

Yang future_status menunjukkan alasan untuk kembali.

Keterangan

Status asinkron terkait hanya siap jika penyedia asinkronnya telah menyimpan nilai pengembalian atau menyimpan pengecualian.

Lihat juga

Referensi File Header
<future>