Параллельное программирование на С++ в действии. Практика разработки многопоточных программ - [212]
Результат
Если до вызова этого оператора >this->joinable() возвращала >true, то вызывает >std::terminate() для аварийного завершения программы. Если с >other до вызова оператора был ассоциирован поток выполнения, то после вызова он оказывается ассоциирован с >*this. В противном случае с >*this не ассоциирован никакой поток выполнения.
Постусловия
>this->get_id() равно значению >other.get_id() до вызова конструктора. >other.get_id() == id().
Исключения
Нет.
Примечание. Объекты >std::thread не удовлетворяют требованиям концепции >CopyAssignable, поэтому копирующего оператора присваивания не существует, существует только этот перемещающий оператор присваивания.
>STD::THREAD::SWAP, ФУНКЦИЯ-ЧЛЕН
Обменивает владение ассоциированными потоками выполнения между двумя объектами >std::thread.
Объявление
>void swap(thread& other) noexcept;
Результат
Если с >other до вызова функции был ассоциирован поток выполнения, то после вызова он оказывается ассоциирован с >*this. В противном случае с >*this не ассоциирован никакой поток выполнения. Если с >*this до вызова функции был ассоциирован поток выполнения, то после вызова он оказывается ассоциирован с >other. В противном случае с >other не ассоциирован никакой поток выполнения.
Постусловия
>this->get_id() равно значению >other.get_id() до вызова функции. >other.get_id() равно значению >this->get_id() до вызова функции.
Исключения
Нет.
>STD::THREAD::SWAP, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Обменивает владение ассоциированными потоками выполнения между двумя объектами >std::thread.
Объявление
>void swap(thread& lhs, thread& rhs) noexcept;
Результат
>lhs.swap(rhs)
Исключения
Нет.
>STD::THREAD::JOINABLE, ФУНКЦИЯ-ЧЛЕН
Опрашивает, ассоциирован ли с >*this поток выполнения.
Объявление
>bool joinable() const noexcept;
Возвращаемое значение
>true, если с >*this ассоциирован поток выполнения, иначе >false.
Исключения
Нет.
>STD::THREAD::JOIN, ФУНКЦИЯ-ЧЛЕН
Ожидает завершения потока выполнения, ассоциированного с >*this.
Объявление
>void jоin();
Предусловия
>this->joinable() должна возвращать >true.
Результат
Блокирует текущий поток, пока не завершится поток, ассоциированный с >*this.
Постусловия
>this->get_id() == id(). Поток выполнения, который был ассоциирован с >*this до вызова этой функции, завершился.
Синхронизация
Завершение потока выполнения, который был ассоциирован с >*this до вызова этой функции, происходит-раньше возврата из >jоin().
Исключения
>std::system_error, если требуемого эффекта добиться не удалось или если >this->joinable() возвращает >false.
>STD::THREAD::DETACH, ФУНКЦИЯ-ЧЛЕН
Отсоединяет поток выполнения, ассоциированный с >*this.
Объявление
>void detach();
Предусловия
>this->joinable() возвращает >true.
Результат
Отсоединяет поток выполнения, ассоциированный с >*this.
Постусловия
>this->get_id() == id(), >this->joinable() == false. Поток выполнения, который был ассоциирован с >*this до вызова этой функции, отсоединен и более не ассоциирован ни с каким объектом >std::thread.
Исключения
>std::system_error, если требуемого эффекта добиться не удалось или если >this->joinable() возвращает >false в момент вызова.
>STD::THREAD::GET_ID, ФУНКЦИЯ-ЧЛЕН
Возвращает значение типа s>td::thread::id, идентифицирующее поток выполнения, ассоциированный с >*this.
Объявление
>thread::id get_id() const noexcept;
Возвращаемое значение
Если с >*this ассоциирован поток выполнения, то возвращает экземпляр >std::thread::id, который идентифицирует этот поток. В противном случае возвращает сконструированный по умолчанию экземпляр >std::thread::id.
Исключения
Нет.
>STD::THREAD::HARDWARE_CONCURRENCY, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН
Возвращает информацию о том, сколько потоков могут одновременно работать на имеющемся оборудовании.
Объявление
>unsigned hardware_concurrency() noexcept;
Возвращаемое значение
Количество потоков, которые могут одновременно исполняться на имеющемся оборудовании. Например, это может быть число процессоров. Если информация недоступна или определена неточно, возвращает 0.
Исключения
Нет.
D.7.2. Пространство имен >this_thread
Функции из пространства имен >std::this_thread применяются к вызывающему потоку.
>STD::THIS_THREAD::GET_ID, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Возвращает значение типа >std::thread::id, идентифицирующее текущий поток выполнения.
Объявление
>thread::id get_id() noexcept;
Возвращаемое значение
Экземпляр >std::thread::id, идентифицирующий текущий поток выполнения.
Исключения
Нет.
>STD::THIS_THREAD::YIELD, ФУНКЦИЯ, HE ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Информирует библиотеку о том, что поток, вызвавший эту функцию, в данный момент не хочет выполняться. Обычно используется в коротких циклах, чтобы не потреблять излишне много процессорного времени.
Объявление
>void yield() noexcept;
Результат
Предоставляет библиотеке возможность запланировать другой поток вместо текущего.
Исключения
Нет.
>STD::THIS_THREAD::SLEEP_FOR, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Приостанавливает выполнение текущего потока на указанное время.
Объявление
>template
>void sleep_for(
> std::chrono::duration
Результат
Приостанавливает выполнение текущего потока на указанное время >relative_time.
Примечание. Поток может быть блокирован дольше, чем указано. Если возможно, истекшее время измеряется по стабильным часам.
Это знаменитый бестселлер, который научит вас использовать власть массового сотрудничества и покажет, как применять викиномику в вашем бизнесе. Переведенная более чем на двадцать языков и неоднократно номинированная на звание лучшей бизнес-книги, "Викиномика" стала обязательным чтением для деловых людей во всем мире. Она разъясняет, как массовое сотрудничество происходит не только на сайтах Wikipedia и YouTube, но и в традиционных компаниях, использующих технологии для того, чтобы вдохнуть новую жизнь в свои предприятия.Дон Тапскотт и Энтони Уильямс раскрывают принципы викиномики и рассказывают потрясающие истории о том, как массы людей (как за деньги, так и добровольно) создают новости, изучают геном человека, создают ремиксы любимой музыки, находят лекарства от болезней, редактируют школьные учебники, изобретают новую косметику, пишут программное обеспечение и даже строят мотоциклы.Знания, ресурсы и вычислительные способности миллиардов людей самоорганизуются и превращаются в новую значительную коллективную силу, действующую согласованно и управляемую с помощью блогов, вики, чатов, сетей равноправных партнеров и личные трансляции.
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.
Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.