Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.18.66] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
На самом деле уверенность практически 100%. Для межпроцессной синхронизации нужны именованные объекты, для чего в std ничего не предусмотрено. С другой стороны, тебе ничто не мешает написать свои мьютексы, лишь бы их слопал std::lock_guard<>. Требования для этого довольно низки.
|
Сообщ.
#17
,
|
|
|
Цитата Qraizer @ На самом деле уверенность практически 100%. Для межпроцессной синхронизации нужны именованные объекты, для чего в std ничего не предусмотрено. С другой стороны, тебе ничто не мешает написать свои мьютексы, тишь бы их слопал std::lock_guard<>. Требования для этого довольно низки. Я понял, спасибо за разъяснения. В принципе логично. Мне было принципиально услышать аргументы, а не просто "Вот так и все тут". Вопрос решен. |
Сообщ.
#18
,
|
|
|
Разница между std::mutex и std::recursive_mutex всего лишь в одном аспекте поведения: если нитка залочила объект, то в первом случае повторный захват ею этого же объекта приведёт к неопределённому поведению, тогда как во втором случае выполнение продолжится без любой дополнительной блокировки, однако отпустить объект нитка должно столько же раз, сколько захватывала, иначе он так и останется ею занятым. Это поведение строго согласуется и с критическими секциями, и с мьютексами из WinAPI. Первое же поведение ровно такое же, как у семафоров со счётчиком 1, если неопределённое поведение доопределить до дидлука, так что не удивлюсь, если std::mutex реализованы через семафоры.
|
Сообщ.
#19
,
|
|
|
Я про именованые объекты позабыл просто, и действительно, мьютексов на всех не напасешься, Qraizer, ты навел меня на опрделенную мысль, за что тебе спасибо. Я понял что все std::mutex скорее всего быстрые, да я дебажил std::mutex, но тем не менее хотел понять как лочить объекты между процессами. В принципе логично, что это должен делать тот - кому это нужно. Вопрос исчерпан.
|