Я ищу решение для следующей проблемы:
Я разрабатываю Java-класс, который содержит карту, которой манипулируют несколько потоков. Эти потоки будут иметь следующие операции:
- Итерация: будет итерация карты, итерация будет считывать и обновлять значения некоторых записей
- положено: одна из веток добавит записи на карту
- get: один или несколько потоков будут периодически читать карту
Сложная часть: can't Я не могу поставить мьютекс на все 3 метода, потому что итерация вызовет get и put, что приведет к мертвой блокировке.
Посоветуйте, пожалуйста, как мне спроектировать класс и мьютекс, чтобы он работал.
Спасибо