![]()  | 
![]() ![]() ![]() ![]()  | 
![]()  | 
io_service::strandBoost , Boost.Asio , Reference
  
  
   | 
||||||||||||||||||||||
| 
                 Имя  | 
                 Описание  | 
|---|---|
Просите пряди вызвать данного обработчика.  | 
|
Получите услугу io_, связанную с нитью.  | 
|
Попросите пряжу призвать данного обработчика и немедленно вернуться.  | 
|
Определить, работает ли нить в текущей нити.  | 
|
Конструктор.  | 
|
Создайте новый обработчик, который автоматически отправляет обернутый обработчик на нить.  | 
|
Разрушитель.  | 
Класс<io_service::strand>обеспечивает возможность отправки и отправки обработчиков с гарантией того, что ни один из этих обработчиков не будет выполнять одновременно.
Учитывая:
s>a>, отвечающий требованиям обработчика завершенияa1>, являющийся произвольной копией<a>, выполненной реализациейb>, отвечающий требованиям обработчика завершенияb1>, являющийся произвольной копией<b>, выполненной реализациейесли верно одно из следующих условий:
s.post(a)>происходит до<s.post(b)>s.post(a)>происходит до<s.dispatch(b)>, где последнее совершается вне цепиs.dispatch(a)>происходит до<s.post(b)>, где первое совершается вне цепиs.dispatch(a)>происходит до<s.dispatch(b)>, где оба выполняются вне нити.<asio_handler_invoke(a1,
       &a1)>до<asio_handler_invoke(b1,
       &b1)>.
Обратите внимание, что в следующем случае:
async_op_1(..., s.wrap(a)); async_op_2(..., s.wrap(b));
Завершение первой асинхронной операции будет выполняться<s.dispatch(a)>, а второй будет выполняться<s.dispatch(b)>, но порядок, в котором они выполняются, не определен. То есть вы не можете сказать, происходит ли одно раньше другого. Таким образом, ни одно из вышеперечисленных условий не выполняется, и не предоставляется никаких гарантий заказа.
Реализация не гарантирует, что обработчики, размещенные или отправленные через различные объекты<strand>, будут вызываться одновременно.
Отличительныеобъекты:Сейф.
Совместнообъекты:Сейф.
Заголовок:<boost/asio/strand.hpp>
Удобный заголовок:<boost/asio.hpp>
Статья io_service::strand раздела Boost.Asio Reference может быть полезна для разработчиков на c++ и boost.
реклама  |