Re[13]: asio готовится к принятию в стандарт?
От: uzhas Ниоткуда  
Дата: 27.04.15 09:11
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Ну так тогда придется где-то хранить эти хэндлы, так что тот же гемор, вид сбоку


это не вид сбоку, это доп. рычаг, который позволяет в другой манере работать с теми же вещами. и может гораздо проще решить проблему fdn721
это все равно, что отождествить все языки программирования "они же все эквивалентны машине Тьюринга". хотя разные языки одну и ту же задачу могут решать по-разному в плане перформанса, простоты кода\сопровождения и тд.

J>Далее, зачем обязательно убивать сокет явно? Достаточно хранить его в любом умном указателе и передавать явно в континуацию. Тогда при закрытии сокета в континуацию придет operation_aborted — ты в результате просто не поставишь в очередь очередную континуацию (которая держала бы сокет на плаву), и сокет мирно помрет сам вместе с указателем.


работа с внешними ресурсами часто требует полного и явного контроля. если говорить о сокетах, то иногда нужно явно освободить порт. полагаться на shared_ptr я бы не стал из-за непредсказуемости кол-ва владельцев (более точно из-за непредсказуемости момента уничтожения захваченного объекта)

J>ЗЫ Есть какой-нть нормальный перевод для continuation? Калька — это уродство какое-то "Продолжение" тоже плохо выглядит, так как имеет самостоятельный смысл. "Функция/процедура продолжения"?


обычно переводят, как "продолжение".
у слова "функция" и "процедура" тоже много значений в русском языке, главное — привыкнуть
но в данном контексте все же это слово не следует употреблять, у него несколько другое значение : http://en.wikipedia.org/wiki/Continuation
в данном случае мы все же работаем с async method handler, то есть с обработчиками асинхронных операций, которые в свою очередь часто являются замыканиями ( http://en.wikipedia.org/wiki/Closure_(computer_programming) ) имхо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.