Size: a a a

Maxwell's Demons

2021 March 07

M

Mitek in Maxwell's Demons
одни возвращают ошибку при второй, другие делают ещё одна (тогда две разблокирки надо делать), другие просто игнорируют
источник

M

Mitek in Maxwell's Demons
по разному
источник

M

Mitek in Maxwell's Demons
надо книжку читать, что автор имел ввиду.
источник

VK

Valentin Kornienko in Maxwell's Demons
Mitek
В какой реализации ?
В любом реализации двойной захват мьютекса это дедлок, если это не try lock и не timed mutex который через время может разлочиться.
источник

VK

Valentin Kornienko in Maxwell's Demons
Mitek
Исходники есть от ОС ?
В книге указано поведение для стандарта С++ и соответственно стандартной библиотеки. Не нужны исходники ОС.
источник

D

Dr Zlo in Maxwell's Demons
Valentin Kornienko
В любом реализации двойной захват мьютекса это дедлок, если это не try lock и не timed mutex который через время может разлочиться.
dead lock != UB
источник

VK

Valentin Kornienko in Maxwell's Demons
Dr Zlo
dead lock != UB
Именно
источник

VK

Valentin Kornienko in Maxwell's Demons
Дедлок это обычная проблема которая не ведёт к уб
источник

D

Dr Zlo in Maxwell's Demons
А, кк, мне показалось ты оправдываешь книгу
источник

VK

Valentin Kornienko in Maxwell's Demons
У меня ещё один вопрос к автору книги есть, х
источник

D

Dr Zlo in Maxwell's Demons
Valentin Kornienko
В любом реализации двойной захват мьютекса это дедлок, если это не try lock и не timed mutex который через время может разлочиться.
Ну ещё есть рекурсивный мьютекс, но я не знаю есть ли он в стдлибе (я почти не кодил трединг с её использованием)
источник

VK

Valentin Kornienko in Maxwell's Demons
Dr Zlo
А, кк, мне показалось ты оправдываешь книгу
Нет. Вовсе нет, это было к х893 который исходники ОС хотел бы посмотреть, хотя дедлок явно и понятно приводит к висящим потокам на мьютексе
источник

VK

Valentin Kornienko in Maxwell's Demons
Dr Zlo
Ну ещё есть рекурсивный мьютекс, но я не знаю есть ли он в стдлибе (я почти не кодил трединг с её использованием)
Есть, я его использовал не раз. Нормально с ним все
источник

D

Dr Zlo in Maxwell's Demons
Valentin Kornienko
Есть, я его использовал не раз. Нормально с ним все
Ну я просто
источник

D

Dr Zlo in Maxwell's Demons
источник

VK

Valentin Kornienko in Maxwell's Demons
Есть и shared_mutex который умеет блокироваться на чтение или на запись
источник

VK

Valentin Kornienko in Maxwell's Demons
источник

VK

Valentin Kornienko in Maxwell's Demons
Причём, на чтение shared lock, на запись unique_lock
источник

D

Dr Zlo in Maxwell's Demons
Но вообще книга клевая, я сча полистал часик, угорел с https://github.com/Nekrolm/ubbook/blob/master/runtime/nullptr_dereference.md
источник

VK

Valentin Kornienko in Maxwell's Demons
Valentin Kornienko
Причём, на чтение shared lock, на запись unique_lock
Таким образом чуть вкуснее получается
источник