|  | 
|      | 
|  | 
| Conformance and ExtensionBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 35. Thread 4.7.1
  
   | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Раздел | Описание | статус | Комментарий | билет | 
|---|---|---|---|---|
| 30 | Библиотека поддержки потока | Да | - | - | 
| 30.1 | Генерал | - | - | - | 
| 30.2 | Требования | - | - | - | 
| 30.2.1 | Названия параметров шаблона | - | - | - | 
| 30.2.2 | Исключения | Да | - | - | 
| 30.2.3 | Родные ручки | Да | - | - | 
| 30.2.4 | Технические характеристики | Да | - | - | 
| 30.2.5 | Требования к блокируемым типам | Да | - | - | 
| 30.2.5.1 | В целом | - | - | - | 
| 30.2.5.2 | Основные требования | Да | - | - | 
| 30.2.5.3 | Требования к блокировке | Да | - | - | 
| 30.2.5.4 | Требования к блокировке по времени | Да | - | - | 
| 30.2.6 | decay_copy | - | - | - | 
| 30.3 | Нити | Да | - | - | 
| 30.3.1 | Классовая нить | Да | - | - | 
| 30.3.1.1 | Нить класса::id | Да | - | - | 
| 30.3.1.2 | Конструкторы нитей | Частично | - | - | 
| 30.3.1.3 | Деструктор резьбы | Да | - | - | 
| 30.3.1.4 | распределение потоков | Да | - | - | 
| 30.3.1.5 | нити | Да | - | - | 
| 30.3.1.6 | резьбовые статические элементы | Да | - | - | 
| 30.3.1.7 | потоковые специализированные алгоритмы | Да | - | - | 
| 30.3.2 | Namespace this_thread | Да | - | - | 
| 30.4 | Взаимное исключение | Частично | - | - | 
| 30.4.1 | Требования к мутексу | Да | - | - | 
| 30.4.1.1 | В целом | Да | - | - | 
| 30.4.1.2 | Мутексные типы | Да | - | - | 
| 30.4.1.2.1 | Класс мутекс | Да | - | - | 
| 30.4.1.2.2 | Класс recursive_mutex | Да | - | - | 
| 30.4.1.3 | Типы меток времени | Да | - | - | 
| 30.4.1.3.1 | Класс timed_mutex | Да | - | - | 
| 30.4.1.3.1 | Класс recursive_timed_mutex | Да | - | - | 
| 30.4.2 | Замки | Да | - | - | 
| 30.4.2.1 | Class template lock_guard | Да | - | - | 
| 30.4.2.2 | Уникальный шаблон класса_lock | Да | - | - | 
| 30.4.2.2.1 | уникальные_lock конструкторы, деструктор и назначение | Да | - | - | 
| 30.4.2.2.2 | Уникальная блокировка | Да | - | - | 
| 30.4.2.2.3 | уникальные модификаторы блокировки | Да | - | - | 
| 30.4.2.2.4 | уникальный_lock наблюдатель | Да | - | - | 
| 30.4.3 | Общие алгоритмы блокировки | Частично | вариадный | #6227 | 
| 30.4.4 | Call once | Да | - | - | 
| 30.4.4.1 | Структура once_flag | Да | - | - | 
| 30.4.4.2 | Function call_once | Да | - | - | 
| 30.5 | Переменные состояния | Да | - | - | 
| 30.5.1 | Состояние класса_изменяемое | Да | - | - | 
| 30.5.2 | Class condition_variable_any | Да | - | - | 
| 30.6 | Futures | Да | - | - | 
| 30.6.1 | Обзор | Частично | - | - | 
| 30.6.2 | Обработка ошибок | Да | - | - | 
| 30.6.3 | Ошибка класса | - | - | - | 
| 30.6.4 | Общее состояние | - | - | - | 
| 30.6.5 | Обещание шаблона класса | Да | - | - | 
| 30.6.6 | Обещание шаблона класса | Да | - | - | 
| 30.6.7 | Шаблон класса shared_future | Да | - | - | 
| 30.6.8 | Функциональный шаблон async | Да | - | - | 
| 30.6.9 | Шаблон класса packaged_task | Да | - | - | 
Table 35.3. Extension
| Раздел | Описание | Комментарий | 
|---|---|---|
| 30.3.1.5.x | прерывание | - | 
| 30.3.2.x | Прерывание | - | 
| 30.3.2.y | at_thread_exit | - | 
| 30.4.3.x | Generic locking algorithms begin/end | - | 
Table 35.4. [@http://isocpp.org/files/papers/N3659.html N3659 Shared locking in C++ revision 2] Conformance
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| 30.4.1.4 | Shared Lockables Types | Да | - | 
| 30.4.1.4.1 | shared_mutex class | Да | - | 
| 30.4.2.3 | Class template shared_lock | Да | - | 
Table 35.5. Improvements to std::future<T> and related APIs]
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| 2.1 | - | - | - | 
| 2.2 | Обещание шаблона класса | Частично | - | 
| 2.2 | затем | Частично | без неявного разворачивания #10550 и блокировки #10551 | 
| 2.2 | готов | Да | - | 
| 2.3 | Шаблон класса shared_future | Частично | - | 
| 2.3 | затем | Частично | без неявного разворачивания #10550 и блокировки #10551 | 
| 2.3 | готов | Да | - | 
| 2.4 | Функциональный шаблон when_all | Частично | интерфейс не завершен #10426 и блокировка #10551 | 
| 2.5 | Функциональный шаблон when_any | Частично | интерфейс не завершен #10427 и блокировка #10551 | 
| 2.6 | Шаблон функции when_any_back | Нет | #XXXX | 
| 2.7 | Функциональный шаблон Make_ready_future[править править код] | Да | - | 
Table 35.6. C++ Latches and Barriers Conformance
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| X.1 | Защелка класса | Частично | A new class latch has been added. The interface is a super set of the one of the proposal, taking some of the functions of the class barrier. | 
| X.2 | Классовый барьер | Нет | Даже если поднимется. Thread имеет повышение класса: барьер, он не предоставляет те же услуги. Существует экспериментальная доработка, которую можно использовать вместо этого. | 
Table 35.7. C++ Concurrent Queues Conformance
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| X.1 | Концептуальный интерфейс | Частично | Представленный интерфейс имеет некоторые различия в отношении этого предложения. Все функции, имеющие queue_op_status, не предусмотрены. Классы бетона без замков | 
| X.1.1 | Basic Operations | Частично | - | 
| X.1.1.1 | толкать | Да | переименован в push_back. | 
| X.1.1.2 | value_pop | no | переименован в pull_front с двумя ароматами. | 
| X.1.2 | Операции без ожидания | - | - | 
| X.1.2.1 | try_push | Да | переименован в try_push_back | 
| X.1.2.2 | try_pop | Да | переименован в try_pull_back | 
| X.1.3 | Non-blocking operations | - | - | 
| X.1.3.1 | nonblocking_push | Да | переименован в nonblocking_push_back | 
| X.1.3.2 | nonblocking_pop | Да | renamed nonblocking_pull_front | 
| X.1.4 | Передовые операции | Нет | - | 
| X.1.5 | Закрытые очереди | Частично | - | 
| X.1.5.1 | Закрыть | Да | - | 
| X.1.5.2 | закрывает | Да | переименован в закрытый | 
| X.1.5.3 | wait_push | Да | Переименован в wait_push_back | 
| X.1.5.4 | wait_pop | Да | переименован в wait_pull_front | 
| X.1.5.5 | wait_push_front | no | - | 
| X.1.5.6 | wait_pop_back | no | - | 
| X.1.5.6 | открыт | no | - | 
| X.1.6 | Пустые и полные очереди | Да | - | 
| X.1.6.1 | является пустым | Да | - | 
| X.1.6.2 | является полным | Да | Вместимость | 
| X.1.7 | Имена очередей | Нет | Не считался обязательным в то время. | 
| X.1.8 | Требования к типу элемента | Да? | - | 
| X.1.9 | Исключения | Да? | - | 
| X.1.10 | Очередной заказ | Да? | - | 
| X.1.11 | Реализация без блокировки | Нет | ожидание стабилизации интерфейса на основе блокировки. Будет использовать Boost. LockFree когда-нибудь станет лучше Двигайся осознанно. | 
| X.2 | Бетонные очереди | Частично | - | 
| X.2.1 | Замкнутая буферная очередь | Частично | классы sync_queue и sync_bounded_queue. | 
| X.2.1 | Свободная буферная очередь | Нет | ожидание стабилизации интерфейса на основе блокировки. Будет использовать Boost. LockFree когда-нибудь станет лучше Двигайся осознанно. | 
| X.3 | Дополнительные концептуальные инструменты | Нет | - | 
| X.3.1 | Фронты и спины | Нет | - | 
| X.3.2 | Потоковые итераторы | Нет | - | 
| X.3.3 | Итераторы хранения | Нет | - | 
| X.3.4 | Бинарные интерфейсы | Нет | - | 
| X.3.4 | Управляемое опосредование | Нет | - | 
Table 35.8. Executors and Schedulers
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| V.1.1 | 
                    Class  | Да | - | 
| V.1.1 | < | Да | переименован в шаблон функций< | 
| V.1.1 | < | Нет | |
| V.1.2 | Класс sceduled_executor | Нет | - | 
| V.1.2 | < | Нет | переименован в шаблон функций< | 
| V.1.2 | < | Нет | переименован в шаблон функций< | 
| V.2 | Конкретные классы исполнителей | Нет | - | 
| V.2.1 | < | Да | статическая версия< | 
| V.2.2 | < | Да | - | 
| V.2.3 | < | Да | 
                    static version loop_scheduler, dynamic one  | 
| V.2.4 | < | Да | статическая версия< | 
| V.2.5 | < | Да | статическая версия< | 
Table 35.9. `async, future/shared_future::then`and Executors
| Раздел | Описание | статус | Комментарий | 
|---|---|---|---|
| 30.6.6 | < | Да | |
| 30.6.7 | < | Да | |
| 30.6.8 | < | Да | - | 
Table 35.10. Executors and Schedulers - revision 4
| Раздел | Описание | статус | Комментарий | ||
|---|---|---|---|---|---|
| VI.A | Концепция исполнителя | Да | < | Да | < | 
| VI.A.2 | < | Да | переименован< | ||
| VI.A.3 | 
                     | Нет | - | ||
| VI.A.4 | < | Да | - | ||
| VI.A.5 | < | Да | - | ||
| VI.B | < | Да | - | ||
| VI.C | < | Да | переименован< | ||
| VI.D | Свободные функции и вспомогательные объекты | Частично | - | ||
| VI.D | < | Нет | - | ||
| VI.D | < | Нет | < | ||
| VI.D | < | Нет | - | ||
| VI.D | < | Нет | переименован< | ||
| VI.D | < | Нет | переименован в< | ||
| VI.D | < | Частично | переименован< | 
Статья Conformance and Extension раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 35. Thread 4.7.1 может быть полезна для разработчиков на c++ и boost.
:: Главная :: Chapter 35. Thread 4.7.1 ::
| реклама |