Обложка канала

Clean Code

21095 @codeclean

Clean Code - канал на котором публикуются рекомендации по написанию кода, обзоры распространенных ошибок и многое другое.

Clean Code

7 лет назад
Открыть в
Mutual Exclusion

Взаимное исключение возникает, когда несколько потоков должны использовать ресурсы, которые:
● не могут использоваться несколькими потоками одновременно;
● существуют в ограниченном количестве.
Типичный пример – подключения к базам данных, открытые для записи файлы, семафоры.

Одна из стратегий предотвращения взаимной блокировки основана на предотвращении состояния взаимного исключения.
● Использование ресурсов, поддерживающих многопоточный доступ (например, AtomicInteger).
● Увеличение количества ресурсов, чтобы оно достигло или превосходило количество конкурирующих потоков.
● Проверка наличия всех свободных ресурсов перед попытками захвата.

#tips