shared_future Sınıfı
Zaman uyumsuz dönüş nesnesini açıklar. Gelecekteki bir nesnenin aksine, zaman uyumsuz bir sağlayıcı herhangi bir sayıda shared_future
nesneyle ilişkilendirilebilir.
Sözdizimi
template <class Ty>
class shared_future;
Açıklamalar
Boş bir nesnede , operator=
ve yıkıcı dışında valid
bir shared_future
yöntem çağırmayın.
shared_future
nesneler eşitlenmez. Birden çok iş parçacığından aynı nesne üzerinde yöntemleri çağırmak, öngörülemeyen sonuçlara sahip bir veri yarışına neden olur.
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
shared_future | Bir shared_future nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
get | İlişkili zaman uyumsuz durumda depolanan sonucu alır. |
geçerli | Nesnenin boş olup olmadığını belirtir. |
beklemek | İlişkili zaman uyumsuz durum hazır olana kadar geçerli iş parçacığını engeller. |
wait_for | İlişkili zaman uyumsuz durum hazır olana kadar veya belirtilen süre geçene kadar engeller. |
wait_until | İlişkili zaman uyumsuz durum hazır olana kadar veya belirli bir noktaya kadar engeller. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
shared_future::operator= | İlişkili yeni bir zaman uyumsuz durum atar. |
Gereksinimler
Üst bilgi:<gelecek>
Ad alanı: std
shared_future::get
İlişkili zaman uyumsuz durumda depolanan sonucu alır.
const Ty& get() const;
Ty& get() const;
void get() const;
Açıklamalar
Sonuç bir özel durumsa, yöntemi bunu yeniden oluşturur. Aksi takdirde sonuç döndürülür.
Sonucu almadan önce, ilişkili zaman uyumsuz durum hazır olana kadar bu yöntem geçerli iş parçacığını engeller.
Kısmi özelleştirme shared_future<Ty&>
için, depolanan değer, dönüş değeri olarak zaman uyumsuz sağlayıcıya geçirilen nesneye etkili bir başvurudur.
Özelleştirme shared_future<void>
için depolanmış değer olmadığından yöntemi döndürür void
.
shared_future::operator=
Belirtilen nesneden ilişkili zaman uyumsuz durumu aktarır.
shared_future& operator=(shared_future&& Right) noexcept;
shared_future& operator=(const shared_future& Right);
Parametreler
Right
Bir shared_future
nesnesi.
Dönüş Değeri
*this
Açıklamalar
İlk işleç için, Right artık işlemden sonra ilişkili zaman uyumsuz duruma sahip değildir.
İkinci yöntem için Right, ilişkili zaman uyumsuz durumunu korur.
shared_future::shared_future Oluşturucu
Bir shared_future
nesne oluşturur.
shared_future() noexcept;
shared_future(future<Ty>&& Right) noexcept;
shared_future(shared_future&& Right) noexcept;
shared_future(const shared_future& Right);
Parametreler
Right
Gelecek veya shared_future
nesne.
Açıklamalar
İlk oluşturucu, ilişkili zaman uyumsuz durumuna sahip olmayan bir shared_future
nesne oluşturur.
İkinci ve üçüncü oluşturucular bir shared_future
nesne oluşturur ve ilişkili zaman uyumsuz durumu Sağdan aktarır. Sağ artık ilişkili bir zaman uyumsuz duruma sahip değil.
Dördüncü oluşturucu, Right ile aynı ilişkili zaman uyumsuz duruma sahip bir shared_future
nesne oluşturur.
shared_future::valid
Nesnenin ilişkili zaman uyumsuz durumuna sahip olup olmadığını belirtir.
bool valid() noexcept;
Dönüş Değeri
true
nesnenin ilişkili bir zaman uyumsuz durumu varsa; aksi takdirde , false
.
shared_future::wait
İlişkili zaman uyumsuz durum hazır olana kadar geçerli iş parçacığını engeller.
void wait() const;
Açıklamalar
İlişkili zaman uyumsuz durum yalnızca zaman uyumsuz sağlayıcısı bir dönüş değeri depoladıysa veya bir özel durum depoladıysa hazır olur.
shared_future::wait_for
İlişkili zaman uyumsuz durum hazır olana kadar veya belirtilen süre geçene kadar geçerli iş parçacığını engeller.
template <class Rep, class Period>
future_status wait_for(
const chrono::duration<Rep, Period>& Rel_time) const;
Parametreler
Rel_time
İş parçacığının engelleyebilecekleri maksimum zaman aralığını belirten chrono::d uration nesnesi.
Dönüş Değeri
Geri dönme nedenini gösteren bir future_status.
Açıklamalar
İlişkili zaman uyumsuz durum yalnızca zaman uyumsuz sağlayıcısı bir dönüş değeri depoladıysa veya bir özel durum depoladıysa hazır olur.
shared_future::wait_until
İlişkili zaman uyumsuz durum hazır olana kadar veya belirtilen bir zaman noktasından sonraya kadar geçerli iş parçacığını engeller.
template <class Clock, class Duration>
future_status wait_until(
const chrono::time_point<Clock, Duration>& Abs_time) const;
Parametreler
Abs_time
İş parçacığının engelini kaldırabileceği zamanı belirten bir chrono::time_point nesnesi.
Dönüş Değeri
Geri dönme nedenini gösteren bir future_status.
Açıklamalar
İlişkili zaman uyumsuz durum yalnızca zaman uyumsuz sağlayıcısı bir dönüş değeri depoladıysa veya bir özel durum depoladıysa hazır olur.