Главная → Многопоточность → Как избежать dead lock. Способ 2. Дополнительный монитор
Как избежать dead lock. Способ 2. Дополнительный монитор
Проблема вроде решена, но этот дополнительный монитор становится узким местом в системе, на котором все потоки будут зависать в ожидании. Например, есть 5 банковских аккаунтов: первый что-то предаёт во второй, четвёртый в пятый. Между собой они не связаны, но четвёртый и пятый аккаунты будут ждать освобождение дополнительного монитора. В итоге получается однопоточное приложение. Зачем же тогда многопоточность?
Эту проблему можно решить более высокоуровневыми конструкциями – гибким захватом ресурсов.