информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Блокировка российских аккаунтов... 
 Отзыв сертификатов ЦБ РФ, ПСБ,... 
 Памятка мирным людям во время информационной... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Ну раз гуры не отзываются, попробую высказаться 03.08.08 00:40  Число просмотров: 1842
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Есть два класса recursive_mutex и
> interprocess_recursive_mutex.
> Нафига нужен recursive_mutex, если есть
> interprocess_recursive_mutex с тем же функционалом, да еще
> умеющий работать в разных процессах?

Насколько я понимаю, разница такая же как между виндовыми Mutex-ами и Critical Section-ами. С мьютексами все понятно - это объект ядра, на него есть хендл и при каждом телодвижении в его сторону вызов уходит в ядро, из хендла получается референс на объект и только после этого можно выполнить что либо полезное. После выполнения этой полезной работы выполняется вторая смена контекста (еще чуть к оверхеду). Критическая секция полностью реализована в user-mode dll-ках, подгруженных в память процесса, лежит в user-mode памяти и не требует никаких дополнительных действий для начала выполнения работы.

> То что recursive_mutex не работает там где работает
> interprocess_recursive_mutex - понятно, а наоборот, есть
> usecase'ы ? Т.е. если всегда использовать interprocess -
> граблей собрать можно?

Нет, кроме слегка пониженного перформанса. Но в целом рекомендуется потоки в пределах одного процесса синхронизировать именно критическими секциями (не интерпроцесс).
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach