Энтони Уильямс - Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

Здесь есть возможность читать онлайн «Энтони Уильямс - Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2012, ISBN: 2012, Издательство: ДМК Пресс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт С++11 языка С++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму.
Книга «Параллельное программирование на С++ в действии» не предполагает предварительных знаний в этой области. Вдумчиво читая ее, вы научитесь писать надежные и элегантные многопоточные программы на С++11. Вы узнаете о том, что такое потоковая модель памяти, и о том, какие средства поддержки многопоточности, в том числе запуска и синхронизации потоков, имеются в стандартной библиотеке. Попутно вы познакомитесь с различными нетривиальными проблемами программирования в условиях параллелизма.

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Определение класса

template <1> >

class duration {

public:

typedef Rep rep;

typedef Period period;

constexpr duration() = default;

~duration() = default;

duration(const duration&) = default;

duration& operator=(const duration&) = default;

template

constexpr explicit duration(const Rep2& r);

template

constexpr duration(const duration& d);

constexpr rep count() const;

constexpr duration operator+() const;

constexpr duration operator-() const;

duration& operator++();

duration operator++(int);

duration& operator--();

duration operator--(int);

duration& operator+=(const duration& d);

duration& operator-=(const duration& d);

duration& operator*=(const rep& rhs);

duration& operator/=(const rep& rhs);

duration& operator%=(const rep& rhs);

duration& operator%=(const duration& rhs);

static constexpr duration zero();

static constexpr duration min();

static constexpr duration max();

};

template

constexpr bool operator==(

const duration& lhs,

const duration& rhs);

template

constexpr bool operator !=(

const duration& lhs,

const duration& rhs);

template

constexpr bool operator<(

const duration& lhs,

const duration& rhs);

template

constexpr bool operator<=(

const duration& lhs,

const duration& rhs);

template

constexpr bool operator>(

const duration& lhs,

const duration& rhs);

template

constexpr bool operator>=(

const duration& lhs,

const duration& rhs);

template

constexpr ToDuration duration_cast(

const duration& d);

Требования

Repдолжен быть встроенным числовым типом или определенным пользователем типом со свойствами числа. Periodдолжен быть конкретизацией шаблона std::ratio<>.

STD::CHRONO::DURATION::REP, TYPEDEF

Это псевдоним типа для хранения числа тиков в значении duration.

Объявление

typedef Rep rep;

rep— тип значения, используемого для хранения внутреннего представления объекта duration.

STD::CHRONO::DURATION::PERIOD, TYPEDEF

Это псевдоним типа для конкретизации шаблона класса std::ratio, которая задает количество долей секунды, представляемых счетчиком интервала. Например, если period— это std::ratio<1, 50>, то объект duration, для которого count()равно N , представляет N пятидесятых долей секунды.

Объявление

typedef Period period;

STD::CHRONO::DURATION , КОНСТРУКТОР ПО УМОЛЧАНИЮ

Конструирует экземпляр std::chrono::durationсо значением по умолчанию.

Объявление

constexpr duration() = default;

Результат

Внутреннее значение duration(типа rep) инициализируется значением по умолчанию.

STD::CHRONO::DURATION , КОНВЕРТИРУЮЩИЙ КОНСТРУКТОР ИЗ ЗНАЧЕНИЯ СЧЕТЧИКА

Конструирует экземпляр std::chrono::durationс заданным значением счетчика.

Объявление

template

constexpr explicit duration(const Rep2& r);

Результат

Внутреннее значение объекта durationинициализируется значением static_cast(r).

Требования

Этот конструктор участвует в разрешении перегрузки, только если Rep2может быть неявно преобразован в Rep, и либо Rep— тип с плавающей точкой, либо Rep2 не является типом с плавающей точкой.

Постусловие

this->count() == static_cast(r)

STD::CHRONO::DURATION , КОНВЕРТИРУЮЩИЙ КОНСТРУКТОР ИЗ ДРУГОГО ЗНАЧЕНИЯ STD::CHRONO::DURATION

Конструирует экземпляр std::chrono::duration, масштабируя значение счетчика другого объекта std::chrono::duration.

Объявление

template

constexpr duration(const duration& d);

Результат

Внутреннее значение объекта durationинициализируется значением duration_cast>(d).count().

Требования

Этот конструктор участвует в разрешении перегрузки, только если Rep— тип с плавающей точкой, либо Rep2 не является типом с плавающей точкой, и Period2— целое кратное Period(то есть ratio_divide::den == 1). Это позволяет избежать случайного обрезания (и, значит, потери точности) при сохранении интервала с меньшим периодом в переменной, представляющий интервал с большим периодом.

Постусловие

this->count() == duration_cast>(d).count()

Примеры

duration< int, ratio<1, 1000>> ms(5); ← 5 миллисекунд

duration<1,1>> s(ms);←┐ Ошибка: нельзя

сохранить мс как

целые секунды

duration<1, 1>> s2(ms);←┐ Правильно:

s2.count() == 0.005

duration<1, 1000000>> us(ms);←┐ Правильно:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»

Представляем Вашему вниманию похожие книги на «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»

Обсуждение, отзывы о книге «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x