Энтони Уильямс - Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
- Название:Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
- Автор:
- Жанр:
- Издательство:ДМК Пресс
- Год:2012
- Город:Москва
- ISBN:978-5-94074-448-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Энтони Уильямс - Параллельное программирование на С++ в действии. Практика разработки многопоточных программ краткое содержание
Книга «Параллельное программирование на С++ в действии» не предполагает предварительных знаний в этой области. Вдумчиво читая ее, вы научитесь писать надежные и элегантные многопоточные программы на С++11. Вы узнаете о том, что такое потоковая модель памяти, и о том, какие средства поддержки многопоточности, в том числе запуска и синхронизации потоков, имеются в стандартной библиотеке. Попутно вы познакомитесь с различными нетривиальными проблемами программирования в условиях параллелизма.
Параллельное программирование на С++ в действии. Практика разработки многопоточных программ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
integral-type & old_value, integral-type new_value,
memory_order order = memory_order_seq_cst) noexcept;
bool compare_exchange_strong (
integral-type & old_value, integral-type new_value,
memory_order success_order, memory_order failure_order)
volatile noexcept;
bool compare_exchange_strong(
integral-type & old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
bool compare_exchange_weak(
integral-type & old_value, integral-type new_value,
memory_order order = memory_order_seq_cst) volatile noexcept;
bool compare_exchange_weak(
integral-type & old_value, integral-type new_value,
memory_order order = memory_order_seq_cst) noexcept;
bool compare_exchange_weak(
integral-type & old_value, integral-type new_value,
memory_order success_order, memory_order failure_order)
volatile noexcept;
bool compare_exchange_weak(
integral-type & old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
operator integral-type () const volatile noexcept;
operator integral-type () const noexcept;
integral-type fetch_add(
integral-type , memory_order = memory_order_seq_cst)
volatile noexcept;
integral-type fetch_add(
integral-type , memory_order = memory_order_seq_cst) noexcept;
integral-type fetch_sub(
integral-type , memory_order = memory_order_seq_cst)
volatile noexcept;
integral-type fetch_sub(
integral-type , memory_order = memory_order_seq_cst) noexcept;
integral-type fetch_and(
integral-type , memory_order = memory_order_seq_cst)
volatile noexcept;
integral-type fetch_and(
integral-type , memory_order = memory_order_seq_cst) noexcept;
integral-type fetch_or(
integral-type , memory_order = memory_order_seq_cst)
volatile noexcept;
integral-type fetch_or(
integral-type , memory_order = memory_order_seq_cst) noexcept;
integral-type fetch_xor(
integral-type , memory_order = memory_order_seq_cst)
volatile noexcept;
integral-type fetch_xor(
integral-type , memory_order = memory_order_seq_cst) noexcept;
integral-type operator++() volatile noexcept;
integral-type operator++() noexcept;
integral-type operator++(int) volatile noexcept;
integral-type operator++(int) noexcept;
integral-type operator--() volatile noexcept;
integral-type operator--() noexcept;
integral-type operator--(int) volatile noexcept;
integral-type operator--(int) noexcept;
integral-type operator+=( integral-type ) volatile noexcept;
integral-type operator+=( integral-type ) noexcept;
integral-type operator-=( integral-type ) volatile noexcept;
integral-type operator-=( integral-type ) noexcept;
integral-type operator&=( integral-type ) volatile noexcept;
integral-type operator&=( integral-type ) noexcept;
integral-type operator|=( integral-type ) volatile noexcept;
integral-type operator|=( integral-type ) noexcept;
integral-type operator^=( integral-type ) volatile noexcept;
integral-type operator^=( integral-type ) noexcept;
};
bool atomic_is_lock_free(
volatile const atomic< integral-type >*) noexcept;
bool atomic_is_lock_free(const atomic< integral-type >*) noexcept;
void atomic_init(
volatile atomic< integral-type >*, integral-type ) noexcept;
void atomic_init(atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_exchange(
volatile atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_exchange(
atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_exchange_explicit(
volatile atomic< integral-type >*, integral-type , memory_order)
noexcept;
integral-type atomic_exchange_explicit(
atomic< integral-type >*, integral-type , memory_order) noexcept;
void atomic_store(
volatile atomic< integral-type >*, integral-type ) noexcept;
void atomic_store(
atomic< integral-type >*, integral-type ) noexcept;
void atomic_store_explicit(
volatile atomic< integral-type >*,
integral-type , memory_order) noexcept;
void atomic_store_explicit(
atomic< integral-type >*, integral-type , memory_order) noexcept;
integral-type atomic_load(
volatile const atomic< integral-type >*) noexcept;
integral-type atomic_load(
const atomic< integral-type >*) noexcept;
integral-type atomic_load_explicit(
volatile const atomic< integral-type >*, memory_order) noexcept;
integral-type atomic_load_explicit(
const atomic< integral-type >*, memory_order) noexcept;
bool atomic_compare_exchange_strong(
volatile atomic< integral-type >*, integral-type * old_value,
integral-type new_value) noexcept;
bool atomic_compare_exchange_strong(
atomic< integral-type >*,
integral-type * old_value, integral-type new_value) noexcept;
bool atomic_compare_exchange_strong_explicit(
volatile atomic< integral-type >*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
bool atomic_compare_exchange_strong_explicit(
atomic< integral-type >*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
bool atomic_compare_exchange_weak(
volatile atomic< integral-type >*,
integral-type * old_value, integral-type new_value) noexcept;
bool atomic_compare_exchange_weak(
atomic< integral-type >*,
integral-type * old_value, integral-type new_value) noexcept;
bool atomic_compare_exchange_weak_explicit(
volatile atomic< integral-type >*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
bool atomic_compare_exchange_weak_explicit(
atomic< integral-type >*,
integral-type * old_value, integral-type new_value,
memory_order success_order,
memory_order failure_order) noexcept;
integral-type atomic_fetch_add(
volatile atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_add(
atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_add_explicit(
volatile atomic< integral-type >*, integral-type ,
memory_order) noexcept;
integral-type atomic_fetch_add_explicit(
atomic< integral-type >*, integral-type , memory_order) noexcept;
integral-type atomic_fetch_sub(
volatile atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_sub(
atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_sub_explicit(
volatile atomic< integral-type >*,
integral-type , memory_order) noexcept;
integral-type atomic_fetch_sub_explicit(
atomic< integral-type >*, integral-type , memory_order) noexcept;
integral-type atomic_fetch_and(
volatile atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_and(
atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_and_explicit(
volatile atomic< integral-type >*,
integral-type , memory_order) noexcept;
integral-type atomic_fetch_and_explicit(
atomic< integral-type >*, integral-type , memory_order) noexcept;
integral-type atomic_fetch_or(
volatile atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_or(
atomic< integral-type >*, integral-type ) noexcept;
integral-type atomic_fetch_or_explicit(
volatile atomic< integral-type >*,
integral-type , memory_order) noexcept;
Интервал:
Закладка: