resolve conflicts

This commit is contained in:
gleb-kov
2022-02-22 10:50:26 +03:00
parent a169731363
commit 07ceb5d580

View File

@@ -5,7 +5,7 @@ Deadlock это, конечно, печально. Система завязал
Немного подумав, можно решить, что одного достаточно — просто захвати его два раза подряд, не отпуская, в одном и том же потоке.
Возможно, под какой-то платформой это и так. Но в C++ это неопределенной поведение и
Возможно, под какой-то платформой это и так. Но в C++ это неопределенное поведение и
для красивого показательного дедлока нужно два мьютекса. А с одним — ваш фокус не удастся и превратится в фокус от мира UB.
```C++
@@ -37,7 +37,6 @@ int main(){
Этот пример дает [разные](https://godbolt.org/z/aoren4) результаты на одном и том же компиляторе, на одной и той же платформе, на одном и том же уровне оптимизаций. Просто подключили `pthread` или нет.
Кто в здравом уме будет такое делать-то? Никто же никогда не захватывает один и тот же мьютекс два раза подряд.
Даже не знаю... Зачем-то же существуют рекурсивные мьютексы, которые можно захватывать по нескольку раз.