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

Тут можно читать онлайн Энтони Уильямс - Параллельное программирование на С++ в действии. Практика разработки многопоточных программ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство ДМК Пресс, год 2012. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
  • Автор:
  • Жанр:
  • Издательство:
    ДМК Пресс
  • Год:
    2012
  • Город:
    Москва
  • ISBN:
    978-5-94074-448-1
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

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

Интервал:

Закладка:

Сделать

Возвращаемое значение

Значение d, преобразованное к типу интервала, заданного параметром ToDuration. При выполнении операции минимизируется потеря точности в результате преобразования интервалов с разными масштабами и типами представления.

D.1.2. Шаблон класса std::chrono::time_point

Шаблон класса std::chrono::time_pointпредставляет момент времени, измеренный по конкретным часам. Задается в виде интервала, прошедшего с момента эпохи данных часов. Параметр шаблона Clockзадает часы (у разных часов должны быть разные типы), а параметр Duration— тип для измерения интервала от эпохи, который должен быть конкретизацией шаблона std::chrono::duration. По умолчанию Durationсовпадает с подразумеваемым типом интервала, определенным в Clock.

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

template

class time_point {

public:

typedef Clock clock;

typedef Duration duration;

typedef typename duration::rep rep;

typedef typename duration::period period;

time_point();

explicit time_point(const duration& d);

template

time_point(const time_point& t);

duration time_since_epoch() const;

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

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

static constexpr time_point min();

static constexpr time_point max();

};

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

Конструирует объект time_point, представляющий эпоху часов Clock; внутренний интервал инициализируется значением Duration::zero().

Объявление

time_point();

Постусловие

Для сконструированного по умолчанию объекта tpтипа time_pointимеет место равенство tp.time_since_epoch() == tp::duration::zero().

STD::CHRONO::TIME_POINT , КОНСТРУКТОР ИЗ ИНТЕРВАЛА

Конструирует объект time_point, представляющий заданный интервал от эпохи часов Clock.

Объявление

explicit time_point(const duration& d);

Постусловие

Для объекта tpтипа time_point, созданного конструктором tp(d)из некоторого интервала d, имеет место равенство tp.time_since_epoch() == d.

STD::CHRONO::TIME_POINT , КОНВЕРТИРУЮЩИЙ КОНСТРУКТОР

Конструирует объект time_pointиз другого объекта time_pointс таким же типом Clock, по другим типом Duration.

Объявление

template

time_point(const time_point& t);

Требования

Для типа Duration2должно существовать неявное преобразование в тип Duration.

Результат

Эквивалентно выражению time_point(t.time_since_epoch()).

Значение, возвращенное функцией t.time_since_epoch()неявно преобразуется в объект типа Duration, который сохраняется в новом объекте типа time_point.

STD::CHRONO::TIME_POINT::TIME_SINCE_EPOCH , ФУНКЦИЯ-ЧЛЕН

Возвращает интервал от эпохи часов для данного объекта типа time_point.

Объявление

duration time_since_epoch() const;

Возвращаемое значение

Значение duration, хранящееся в *this.

STD::CHRONO::TIME_POINT::OPERATOR+= , СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ

Прибавляет указанный интервал durationк значению, хранящемуся в данном объекте time_point.

Объявление

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

Результат

Прибавляет dк внутреннему интервалу *this, эквивалентно this->internal_duration += d.

Возвращаемое значение

*this

STD::CHRONO::TIME_POINT::OPERATOR-= , СОСТАВНОЙ ОПЕРАТОР ПРИСВАИВАНИЯ

Вычитает указанный интерфейс durationиз значения, хранящегося в данном объекте time_point.

Объявление

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

Результат

Вычитает dиз внутреннего интервала *this, эквивалентно this->internal_duration -= d.

Возвращаемое значение

*this

STD::CHRONO::TIME_POINT::MIN , СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН

Получает объект time_point, представляющий минимально возможное для данного типа значение.

Объявление

static constexpr time_point min();

Возвращаемое значение

time_point(time_point::duration::min())(см. 11.1.1.15)

STD::CHRONO::TIME_POINT::MAX, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН

Получает объект time_point, представляющий максимально возможное для данного типа значение.

Объявление

static constexpr time_point max();

Возвращаемое значение

time_point(time_point::duration::max())(см. 11.1.1.16)

D.1.3. Класс std::chrono::system_clock

Класс std::chrono::system_clockпредоставляет средства для получения времени от системных часов реального времени. Текущее время возвращает функция std::chrono::system_clock::now(). Объекты класса std::chrono::system_clock::time_pointможно преобразовывать в тип time_tс помощью функции std::chrono::system_clock::to_time_t()и получать из этого типа с помощью функции std::chrono::system_clock::to_time_point(). Системные часы не стабильны , поэтому последующее обращение к std::chrono::system_clock::now()может вернуть момент времени, более ранний, чем при предыдущем обращении (например, если часы операционной системы были подведены вручную или автоматически синхронизировались с внешним источником времени).

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

class system_clock {

public:

typedef unspecified-integral-type rep;

typedef std::ratio< unspecified , unspecified > period;

typedef std::chrono::duration duration;

typedef std::chrono::time_point time_point;

static const bool is_steady = unspecified ;

static time_point now() noexcept;

static time_t to_time_t(const time_point& t) noexcept;

static time_point from_time_t(time_t t) noexcept;

};

STD::CHRONO::SYSTEM_CLOCK::REP , TYPEDEF

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

Объявление

typedef unspecified-integral-type rep;

STD::CHRONO::SYSTEM_CLOCK::PERIOD , TYPEDEF

Псевдоним типа для конкретизации шаблонного класса std::ratio, которая определяет наименьшее число секунд (или долей секунды) между различающимися значениями durationили time_point. Псевдоним periodопределяет точность часов, а не частоту тактов.

Объявление

typedef std::ratio< unspecified , unspecified > period;

STD::CHRONO::SYSTEM_CLOCK::DURATION , TYPEDEF

Конкретизация шаблонного класса std::chrono::duration, в которой может храниться разность между любыми двумя моментами времени, полученными от системных часов реального времени.

Объявление

typedef std::chrono::duration<

std::chrono::system_clock::rep,

std::chrono::system_clock::period> duration;

STD::CHRONO::SYSTEM_CLOCK::TIME_POINT , TYPEDEF

Конкретизация шаблонного класса std::chrono::time_point, в которой могут храниться моменты времени, полученные от системных часов реального времени.

Объявление

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

Интервал:

Закладка:

Сделать


Энтони Уильямс читать все книги автора по порядку

Энтони Уильямс - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x