mirror of
https://github.com/Nekrolm/ubbook.git
synced 2026-06-09 13:14:18 +03:00
typos in readme and double_lock
This commit is contained in:
@@ -63,7 +63,7 @@
|
||||
1. [Бесконечные циклы](runtime/endless_loop.md)
|
||||
2. [Рекурсия](runtime/recursion.md)
|
||||
3. [Ложный noexcept](runtime/noexcept.md)
|
||||
4. [Переполненине буфера](runtime/array_overrun.md)
|
||||
4. [Переполнение буфера](runtime/array_overrun.md)
|
||||
5. [Сборщик мусора](runtime/garbage_collector.md)
|
||||
6. [RAII vs (N)RVO](runtime/rvo_vs_raii.md)
|
||||
7. [Разыменование nullptr](runtime/nullptr_dereference.md)
|
||||
@@ -81,7 +81,7 @@
|
||||
1. [Race condition](concurrency/race_condition.md)
|
||||
2. [shared_ptr](concurrency/shared_ptr.md)
|
||||
3. [thread::join](concurrency/jthread.md)
|
||||
4. [Повторный захват мьютекса](concurrency/double_lock.md)
|
||||
4. [Повторный захват mutex](concurrency/double_lock.md)
|
||||
5. [Signal-unsafe](concurrency/signal_unsafe.md)
|
||||
6. [condition_variable](concurrency/condition_variable.md)
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Повторный захват мьютекса
|
||||
# Повторный захват mutex
|
||||
|
||||
Deadlock это, конечно, печально. Система завязалась в узел и никогда не развяжется.
|
||||
А сколько мьютексов нужно, чтобы уйти в deadlock?
|
||||
|
||||
Немного подумав, можно решить, что одного достаточно — просто захвати его два раза подряд, не отпуская, в одном и том же потоке.
|
||||
|
||||
Возможно, под какой-то платфорвой это и так. Но в C++ это неопределенной поведение и
|
||||
Возможно, под какой-то платформой это и так. Но в C++ это неопределенной поведение и
|
||||
для красивого показательного дедлока нужно два мьютекса. А с одним — ваш фокус не удастся и превратится в фокус от мира UB.
|
||||
|
||||
```C++
|
||||
@@ -35,7 +35,7 @@ int main(){
|
||||
}
|
||||
```
|
||||
|
||||
Этот пример дает [разные](https://godbolt.org/z/aoren4) результаты в на одном и том же компиляторе, на одно и той же платформе, на одном и том же уровне оптимизаций. Просто подключили `pthread` или нет.
|
||||
Этот пример дает [разные](https://godbolt.org/z/aoren4) результаты на одном и том же компиляторе, на одно и той же платформе, на одном и том же уровне оптимизаций. Просто подключили `pthread` или нет.
|
||||
|
||||
Кто в здравом уме будет такое делать-то? Никто же никогда не захватывает один и тот же мьютекс два раза подряд.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user