Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
<atomic> Üst bilgi aşağıdaki işlevleri sağlar:
atomic_compare_exchange_strong
Atomik karşılaştırma ve değişim işlemi gerçekleştirir.
template <class Ty>
inline bool atomic_compare_exchange_strong(
volatile atomic<Ty>* Atom,
Ty* Exp,
Value) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Exp
türünde Tybir değerin işaretçisi.
Value
türünde Tybir değer.
Dönüş Değeri
true değerler eşitse, aksi takdirde false.
Açıklamalar
Bu yöntem örtük memory_order.memory_order_seq_cst bağımsız değişkenler kullanarak atomik karşılaştırma ve değişim işlemi gerçekleştirir. Daha fazla bilgi için bkz. atomic_compare_exchange_strong_explicit.
atomic_compare_exchange_strong_explicit
atomic compare and exchange bir işlem gerçekleştirir.
template <class T>
inline bool atomic_compare_exchange_strong_explicit(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Exp
türünde Tybir değerin işaretçisi.
Value
türünde Tybir değer.
Order1
İlk memory_order bağımsız değişken.
Order2
İkinci memory_order bağımsız değişken. değeri Order2 veya memory_order_releaseolamazmemory_order_acq_rel, değerinden Order1daha güçlü olamaz.
Dönüş Değeri
true değerler eşitse, aksi takdirde false.
Açıklamalar
, atomic compare and exchange operation ile işaret Atom edilen nesnede depolanan değeri ile ile işaret edilen Expdeğerle karşılaştırır. Değerler eşitse, tarafından işaret edilen Atom nesnede depolanan değer, bir okuma-değiştirme-yazma işlemi kullanılarak ve tarafından Valuebelirtilen bellek sırası kısıtlamaları uygulanarak ile Order1 değiştirilir. Değerler eşit değilse, işlem tarafından işaret edilen değeri, tarafından işaret Exp edilen Atom nesnede depolanan değerle değiştirir ve tarafından Order2belirtilen bellek sırası kısıtlamalarını uygular.
atomic_compare_exchange_weak
Zayıf bir atomik karşılaştırma ve değişim işlemi gerçekleştirir.
template <class Ty>
inline bool atomic_compare_exchange_strong(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_strong(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Exp
türünde Tybir değerin işaretçisi.
Value
türünde Tybir değer.
Dönüş Değeri
true değerler eşitse, aksi takdirde false.
Açıklamalar
Bu yöntem örtük bağımsız değişkenler içeren zayıf bir memory_order.memory_order_seq_cst gerçekleştirir. Daha fazla bilgi için bkz. atomic_compare_exchange_weak_explicit.
atomic_compare_exchange_weak_explicit
Zayıf bir atomik karşılaştırma ve değişim işlemi gerçekleştirir.
template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
volatile atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
atomic<Ty>* Atom,
Ty* Exp,
Ty Value,
memory_order Order1,
memory_order Order2) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Exp
türünde Tybir değerin işaretçisi.
Value
türünde Tybir değer.
Order1
İlk memory_order bağımsız değişken.
Order2
İkinci memory_order bağımsız değişken. değeri Order2 veya memory_order_releaseolamaz memory_order_acq_rel veya değerinden Order1daha güçlü olamaz.
Dönüş Değeri
true değerler eşitse, aksi takdirde false.
Açıklamalar
Beklenen ve geçerli değerler eşit değilse yeni değeri depolamama garantisinin hem güçlü hem de zayıf özellikleri atomic compare and exchange operation . Güçlü aroma, beklenen ve geçerli değerler eşitse yeni değerin depolanacağı garanti eder. Zayıf tat bazen döndürebilir false ve geçerli ve beklenen değerler eşit olsa bile yeni değeri depolamayabilir. Başka bir deyişle işlev döndürür false, ancak beklenen değerin daha sonra incelenmesi değişmediğini ve bu nedenle eşit olarak karşılaştırılması gerektiğini gösterebilir.
atomic_exchange
depolanan değerini Valuedeğiştirmek için kullanırAtom.
template <class T>
inline Ty atomic_exchange(volatile atomic<Ty>* _Atom, Ty Value) noexcept;
template <class Ty>
inline T atomic_exchange(atomic<Ty>* Atom, Ty Value) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Value
türünde Tybir değer.
Dönüş Değeri
Değişimden önceki depolanmış değeri Atom .
Açıklamalar
atomic_exchange işlevi ile içinde AtomValuedepolanan memory_order.memory_order_seq_cst değeri değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_exchange_explicit
saklı değerini Atom ile Valuedeğiştirir.
template <class Ty>
inline Ty atomic_exchange_explicit(
volatile atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_exchange_explicit(
atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Value
türünde Tybir değer.
Order
Bir memory_order.
Dönüş Değeri
Değişimden önceki depolanmış değeri Atom .
Açıklamalar
işlevi, atomic_exchange_explicit ile içinde Atomdepolanan Value değeri, tarafından Orderbelirtilen bellek kısıtlamaları içinde değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_fetch_add
Nesnede depolanan mevcut bir değere değer atomic ekler.
template <class T>
T* atomic_fetch_add(volatile atomic<T*>* Atom, ptrdiff_t Value) noexcept;
template <class T>
T* atomic_fetch_add(atomic<T*>* Atom, ptrdiff_t Value) noexcept;
Parametreler
Atom
türüne atomicyönelik bir T işaretçi depolayan nesne işaretçisi.
Value
türünde ptrdiff_tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği işaretçinin değeri.
Açıklamalar
işlevi, atomic_fetch_add kısıtlamasını kullanarak Value içinde Atomdepolanan değere atomik olarak eklemek memory_order.memory_order_seq_cst için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
Atomik tür olduğunda atomic_addressValue türü ptrdiff_t vardır ve işlem depolanan işaretçiyi olarak char *ele alır.
Bu işlem, tam sayı türleri için de aşırı yüklenmiştir:
integral atomic_fetch_add(volatile atomic-integral* Atom, integral Value) noexcept;
integral atomic_fetch_add(atomic-integral* Atom, integral Value) noexcept;
atomic_fetch_add_explicit
Nesnede depolanan mevcut bir değere değer atomic ekler.
template <class T>
T* atomic_fetch_add_explicit(
volatile atomic<T*>* Atom,
ptrdiff_t Value,
memory_order Order) noexcept;
template <class T>
T* atomic_fetch_add_explicit(
atomic<T*>* Atom,
ptrdiff_t Value,
memory_order Order) noexcept;
Parametreler
Atom
türüne atomicyönelik bir T işaretçi depolayan nesne işaretçisi.
Value
türünde ptrdiff_tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği işaretçinin değeri.
Açıklamalar
işlevi tarafından atomic_fetch_add_explicit belirtilen Valuekısıtlamaların içinde Atom içinde memory_orderdepolanan değere atomik olarak eklemek Order için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
Atomik tür olduğunda atomic_addressValue türü ptrdiff_t vardır ve işlem depolanan işaretçiyi olarak char *ele alır.
Bu işlem, tam sayı türleri için de aşırı yüklenmiştir:
integral atomic_fetch_add_explicit(
volatile atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
integral atomic_fetch_add_explicit(
atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
atomic_fetch_and
Bir değer ve bir nesnede depolanan mevcut bir değer üzerinde bit düzeyinde & bir atomic işlem yapar.
template <class T>
inline T atomic_fetch_and(volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_and(volatile atomic<T>* Atom, T Value) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, atomic_fetch_and değerinin bit düzeyindeki Atom& değerini ve içinde depolanan Valuegeçerli değeri Atom kısıtlamasını kullanarak memory_order.memory_order_seq_cst değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_fetch_and_explicit
Bir değerin bit düzeyinde & ve bir nesnede depolanan mevcut bir atomic değeri gerçekleştirir.
template <class T>
inline T atomic_fetch_and_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_and_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Order
Bir memory_order.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, atomic_fetch_and_explicit saklı değerini Atom bit düzeyinde &Value ve tarafından Atombelirtilen bellek kısıtlamaları içinde depolanan Ordergeçerli değerle değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_fetch_or
Bir değer ve bir nesnede depolanan mevcut bir değer üzerinde bit düzeyinde or bir atomic işlem yapar.
template <class T>
inline T atomic_fetch_or (volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_or (volatile atomic<T>* Atom, T Value) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, saklı değerini atomic_fetch_or bit düzeyinde Atomor ve kullanarak içinde ValueAtomdepolanan geçerli değerle değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.memory_order.memory_order_seq_cst
atomic_fetch_or_explicit
Bir değer ve bir nesnede depolanan mevcut bir değer üzerinde bit düzeyinde or bir atomic işlem yapar.
template <class T>
inline T atomic_fetch_or_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_or_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Order
Bir memory_order.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, atomic_fetch_or_explicit saklı değerini Atom bit düzeyinde orValue ve tarafından Atombelirtilen kısıtlamalar içinde memory_order içinde Orderdepolanan geçerli değeriyle değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_fetch_sub
Bir nesnede depolanan mevcut bir değerden bir atomic değeri çıkarır.
template <class T>
T* atomic_fetch_sub(
volatile atomic<T*>* Atom,
ptrdiff_t Value) noexcept;
template <class T>
T* atomic_fetch_sub(
atomic<T*>* Atom,
ptrdiff_t Value) noexcept;
Parametreler
Atom
türüne atomicyönelik bir T işaretçi depolayan nesne işaretçisi.
Value
türünde ptrdiff_tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği işaretçinin değeri.
Açıklamalar
işlevi, atomic_fetch_sub kısıtlamasını kullanarak Value içinde Atomdepolanan değerden atomik olarak çıkarmak memory_order.memory_order_seq_cst için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
Atomik tür olduğunda atomic_addressValue türü ptrdiff_t vardır ve işlem depolanan işaretçiyi olarak char *ele alır.
Bu işlem, tam sayı türleri için de aşırı yüklenmiştir:
integral atomic_fetch_sub(volatile atomic-integral* Atom, integral Value) noexcept;
integral atomic_fetch_sub(atomic-integral* Atom, integral Value) noexcept;
atomic_fetch_sub_explicit
Bir nesnede depolanan mevcut bir değerden bir atomic değeri çıkarır.
template <class T>
T* atomic_fetch_sub_explicit(
volatile atomic<T*>* Atom,
ptrdiff_t Value,
memory_order Order) noexcept;
template <class T>
T* atomic_fetch_sub_explicit(
atomic<T*>* Atom,
ptrdiff_t Value, memory_order Order) noexcept;
Parametreler
Atom
türüne atomicyönelik bir T işaretçi depolayan nesne işaretçisi.
Value
türünde ptrdiff_tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği işaretçinin değeri.
Açıklamalar
işlevi, atomic_fetch_sub_explicit tarafından Valuebelirtilen kısıtlamalar içinde Atom içindeki memory_orderdepolanan değerden atomik olarak çıkarmak Order için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
Atomik tür olduğunda atomic_addressValue türü ptrdiff_t vardır ve işlem depolanan işaretçiyi olarak char *ele alır.
Bu işlem, tam sayı türleri için de aşırı yüklenmiştir:
integral atomic_fetch_sub_explicit(
volatile atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
integral atomic_fetch_sub_explicit(
atomic-integral* Atom,
integral Value,
memory_order Order) noexcept;
atomic_fetch_xor
Bir değer ve bir nesnede depolanan mevcut bir değer üzerinde bit düzeyinde exclusive or bir atomic işlem yapar.
template <class T>
inline T atomic_fetch_xor(volatile atomic<T>* Atom, T Value) noexcept;
template <class T>
inline T atomic_fetch_xor(volatile atomic<T>* Atom, T Value) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, saklı değerini atomic_fetch_xor bit düzeyinde Atomexclusive or ve kullanarak içinde ValueAtomdepolanan geçerli değerle değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.memory_order.memory_order_seq_cst
atomic_fetch_xor_explicit
Bir değer ve nesnede depolanan mevcut bir değer üzerinde bit düzeyinde exclusive or bir atomic işlem yapar.
template <class T>
inline T atomic_fetch_xor_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
template <class T>
inline T atomic_fetch_xor_explicit(
volatile atomic<T>* Atom,
T Value,
memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Value
türünde Tbir değer.
Order
Bir memory_order.
Dönüş Değeri
İşlem gerçekleştirilmeden hemen önce nesnenin atomic içerdiği değer.
Açıklamalar
işlevi, atomic_fetch_xor_explicit saklı değerini Atom bit düzeyinde exclusive orValue ve tarafından belirtilen Atomkısıtlamalar içinde memory_order içinde Orderdepolanan geçerli değerle değiştirmek için bir okuma-değiştirme-yazma işlemi gerçekleştirir.
atomic_flag_clear
Bir bool nesnedeki atomic_flag bayrağını içinde falseolarak memory_order.memory_order_seq_cstayarlar.
inline void atomic_flag_clear(volatile atomic_flag* Flag) noexcept;
inline void atomic_flag_clear(atomic_flag* Flag) noexcept;
Parametreler
Flag
Nesne işaretçisi atomic_flag .
atomic_flag_clear_explicit
bool Belirtilen atomic_flag kısıtlamalar içinde bir false nesnedeki bayrağını olarak memory_orderayarlar.
inline void atomic_flag_clear_explicit(volatile atomic_flag* Flag, memory_order Order) noexcept;
inline void atomic_flag_clear_explicit(atomic_flag* Flag, memory_order Order) noexcept;
Parametreler
Flag
Nesne işaretçisi atomic_flag .
Order
Bir memory_order.
atomic_flag_test_and_set
nesnesindeki boolatomic_flag bayrağını true, kısıtlamaları memory_order.memory_order_seq_cstiçinde olarak ayarlar.
inline bool atomic_flag_test_and_set(volatile atomic_flag* Flag) noexcept;
inline bool atomic_flag_test_and_set(atomic_flag* Flag) noexcept;
Parametreler
Flag
Nesne işaretçisi atomic_flag .
Dönüş Değeri
öğesinin Flagilk değeri.
atomic_flag_test_and_set_explicit
bool Belirtilen atomic_flag kısıtlamalar içinde bir true nesnedeki bayrağını olarak memory_orderayarlar.
inline bool atomic_flag_test_and_set_explicit(volatile atomic_flag* Flag, memory_order Order) noexcept;
inline bool atomic_flag_test_and_set_explicit(atomic_flag* Flag, memory_order Order) noexcept;
Parametreler
Flag
Nesne işaretçisi atomic_flag .
Order
Bir memory_order.
Dönüş Değeri
öğesinin Flagilk değeri.
atomic_init
Bir atomic nesnede depolanan değeri ayarlar.
template <class Ty>
inline void atomic_init(volatile atomic<Ty>* Atom, Ty Value) noexcept;
template <class Ty>
inline void atomic_init(atomic<Ty>* Atom, Ty Value) noexcept;
Parametreler
Atom
türünde atomicbir Ty değeri depolayan bir nesne işaretçisi.
Value
türünde Tybir değer.
Açıklamalar
atomic_init atomik bir işlem değildir. İş parçacığı güvenli değildir.
atomic_is_lock_free
Bir atomic nesnedeki atomik işlemlerin kilitsiz olup olmadığını belirtir.
template <class T>
inline bool atomic_is_lock_free(const volatile atomic<T>* Atom) noexcept;
template <class T>
inline bool atomic_is_lock_free(const atomic<T>* Atom) noexcept;
Parametreler
Atom
türünde atomicbir T değeri depolayan bir nesne işaretçisi.
Dönüş Değeri
true üzerindeki Atom atomik işlemler kilitsizse; değilse, false.
Açıklamalar
Bu tür üzerinde hiçbir atomik işlem kilit kullanmazsa atomik tür kilitsizdir. Bu işlev döndürürse true, türü sinyal işleyicilerinde kullanmak güvenlidir.
atomic_load
Bir atomic nesnede depolanan değeri alır.
template <class Ty>
inline Ty atomic_load(const volatile atomic<Ty>* Atom) noexcept;
template <class Ty>
inline Ty atomic_load(const atomic<Ty>* Atom) noexcept;
Parametreler
Atom
türünde atomicbir değer içeren bir Ty nesnenin işaretçisi.
Dönüş Değeri
içinde Atomdepolanan alınan değer.
Açıklamalar
atomic_load örtük olarak kullanır memory_order.memory_order_seq_cst.
atomic_load_explicit
Belirtilen atomiciçindeki bir memory_order nesnede depolanan değeri alır.
template <class Ty>
inline Ty atomic_load_explicit(const volatile atomic<Ty>* Atom, memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_load_explicit(const atomic<Ty>* Atom, memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir değer içeren bir Ty nesnenin işaretçisi.
Order
Bir memory_order. veya memory_order_releasekullanmayınmemory_order_acq_rel.
Dönüş Değeri
içinde Atomdepolanan alınan değer.
atomic_signal_fence
Aynı iş parçacığında yürütülen sinyal işleyicileri olan bir çağrı iş parçacığındaki diğer çitler arasında yük/depolama işlemleri arasında sıralamayı zorlayan bir bellek eşitleme temeli olan bir çit görevi görür.
inline void atomic_signal_fence(memory_order Order) noexcept;
Parametreler
Order
Çit türünü belirleyen bir bellek sıralama kısıtlaması.
Açıklamalar
Bağımsız Order değişken çit türünü belirler.
| Değer | Açıklama |
|---|---|
memory_order_relaxed |
Çitin hiçbir etkisi yok. |
memory_order_consume |
Çit bir çittir. |
memory_order_acquire |
Çit bir çittir. |
memory_order_release |
Çit bir salma çiti. |
memory_order_acq_rel |
Çit hem alma çiti hem de serbest bırakma çitidir. |
memory_order_seq_cst |
Çit hem alma çiti hem de serbest bırakma çitidir ve sıralı olarak tutarlıdır. |
atomic_store
Nesnede atomik olarak bir atomic değer depolar.
template <class Ty>
inline Ty atomic_store_explicit(const volatile atomic<Ty>* Atom, Ty Value) noexcept;
template <class Ty>
inline Ty atomic_store_explicit(const atomic<Ty>* Atom, T Value) noexcept;
Parametreler
Atom
türünde atomicbir değer içeren bir Ty nesnenin işaretçisi.
Value
türünde Tybir değer.
Açıklamalar
atomic_storekısıtlaması içinde tarafından Valueişaret edilen nesnede Atom depolarmemory_order.memory_order_seq_cst.
atomic_store_explicit
Nesnede atomik olarak bir atomic değer depolar.
template <class Ty>
inline Ty atomic_store_explicit(
const volatile atomic<Ty>* Atom,
Ty Value,
memory_order Order) noexcept;
template <class Ty>
inline Ty atomic_store_explicit(
const atomic<Ty>* Atom,
T Value,
memory_order Order) noexcept;
Parametreler
Atom
türünde atomicbir değer içeren bir Ty nesnenin işaretçisi.
Value
türünde Tybir değer.
Order
Bir memory_order. , memory_order_consumeveya memory_order_acquirekullanmayınmemory_order_acq_rel.
Açıklamalar
atomic_storetarafından işaret edilen Valuenesnesinde, tarafından Atombelirtilen içinde memory_order depolarOrder.
atomic_thread_fence
İlişkili bir atomik işlem olmadan yük/depolama işlemleri arasında sıralamayı zorlayan bir bellek eşitleme temeli olan çit görevi görür.
inline void atomic_thread_fence(memory_order Order) noexcept;
Parametreler
Order
Çit türünü belirleyen bir bellek sıralama kısıtlaması.
Açıklamalar
Bağımsız Order değişken çit türünü belirler.
| Değer | Açıklama |
|---|---|
memory_order_relaxed |
Çitin hiçbir etkisi yok. |
memory_order_consume |
Çit bir çittir. |
memory_order_acquire |
Çit bir çittir. |
memory_order_release |
Çit bir salma çiti. |
memory_order_acq_rel |
Çit hem alma çiti hem de serbest bırakma çitidir. |
memory_order_seq_cst |
Çit hem alma çiti hem de serbest bırakma çitidir ve sıralı olarak tutarlıdır. |
kill_dependency
Bağımlılığı kaldırır.
template <class Ty>
Ty kill_dependency(Ty Arg) noexcept;
Parametreler
Arg
türünde Tybir değer.
Dönüş Değeri
Dönüş değeri şeklindedir Arg. değerlendirmesi Arg , işlev çağrısına bağımlılık taşımaz. İşlev, olası bir bağımlılık zincirini kırarak derleyicinin daha verimli kod oluşturmasına izin verebilir.