Await && Locks
От: Dmytro Sheyko  
Дата: 29.12.02 07:43
Оценка:
Статья:
Await && Locks
Автор(ы): Dmytro Sheyko
Дата: 30.01.2003
Await && Locks – это библиотека синхронизации потоков. Необычная библиотека. Необычна она в том смысле, что она предоставляет не ряд классов или функций на все случаи жизни, – она предоставляет ряд конструкций, при помощи которых программист может более четко и ясно выражать свои намерения.


Авторы:
Dmytro Sheyko

Аннотация:
Await && Locks – это библиотека синхронизации потоков. Необычная библиотека. Необычна она в том смысле, что она предоставляет не ряд классов или функций на все случаи жизни, – она предоставляет ряд конструкций, при помощи которых программист может более четко и ясно выражать свои намерения.
--
Дмитрий
А что насчет включения этого в Boost?
От: m.a.g. Мальта http://dottedmag.net/
Дата: 30.12.02 07:43
Оценка:
Очень красивая библиотека... Никто не знает, собираются ли авторы включить ее в Boost?
Re: А что насчет включения этого в Boost?
От: Дмитро  
Дата: 21.07.03 07:39
Оценка:
Здравствуйте, m.a.g., Вы писали:

MAG>Очень красивая библиотека... Никто не знает, собираются ли авторы включить ее в Boost?


Работа над библиотекой несколько затормозилась, однако я собираюсь в нее внести следующие изменения:
1. ввести "макросы с нэймспейсами". для того, чтобы избежать конфликта имен в проектах, где уже используются слова типа await, await_case, lock_it и т.п. в качестве идентификаторов.
2. отказаться от идеи единственного монитора и в пользу идеи монитора по-умолчанию и произвольного количества сторонних мониторов.
3. ввести "двоичный интерфейс" для того, чтобы откомпилированную библиотеку можно было использовать с различными C++ компиляторами.
4. исправить реализацию монитора для версий Windows, в которых отсутствует API SignalObjectAndWait.
5. реализовать "расширяемые блокировки": т.е. обеспечить поддержку их лок-менеджером и реализовать "библиотеки расширяемых блокировок", которые заменят жестко встроенные блокировки чтения и записи.
7. сделать как минимум 2 реализации лок-менеджера: быструю (без проверки на дедлоки) и стандартную (с проверкой).
8. портирвать библиотеку под Windows CE.

В принципе, я не против включения этой библиотеки в boost, но приоритет этой задачи ниже остальных. Если кто-то возмется бустифицировать Await && Locks я буду только рад!
--
Дмитрий
Re: Битые ссылки в статье
От: oziro Нигерия  
Дата: 10.11.07 10:43
Оценка:
В конце статьи ссылки на

См. Await && Locks — Внутреннее устройство

См. Await && Locks — Достоинства и недостатки

неправильные, надо
http://rsdn.ru/article/files/libs/awaitlocksinternal.xml
Автор(ы): Dmytro Sheyko
Дата: 30.12.2002
Прежде чем начать описание внутренностей Await && Locks, я хотел бы объяснить некоторые детали, которые могут показаться странными и неочевидными; а дизайн библиотеки – избыточным и хаотичным. Приведенные ниже действия касаются только проектирования на C++. Я сознательно использую эту комбинацию якобы несовместимых терминов C++ и проектирование, несмотря на то, что C++ считается языком кодирования, а для проектирования обычно используют другие средства, например UML. Это связано с тем, что язык кодирования, так или иначе, оказывает влияние на мышление программиста-проектировщика и как следствие на этап проектирования в целом.

http://rsdn.ru/article/files/libs/awaitlocksoutro.xml
Автор(ы): Dmytro Sheyko
Дата: 30.12.2002
Следует признать, что код, использующий библиотеку Await && Locks, не столь эффективен, насколько в принципе мог бы быть. Правда, этот недостаток относится больше именно к реализации. Тем не менее, это может стать решающим фактором при принятии решения, использовать ли данную библиотеку или нет. Обобщая, можно поставить вопрос так: «Стоят ли те преимущества, которые дает использование Await && Locks, тех накладных расходов, которые при этом возникнут?». Однозначный ответ я дать не могу. Это зависит от задач, которые собирается решать разработчик. Итак, в чем же заключаются недостатки, и какие выгоды сулит Await && Locks? Рассмотрим особенности данной библиотеки с разных сторон.


соответственно
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.