В моем приложении я бы использовал карту.Какая реализация карты используется, если несколько потоков записываются на одну карту
- Несколько потоков будут записывать данные на эту карту. Операций записи слишком много.
- Однако данные, которые подаются на карту, имеют разные ключи во время каждой записи.
- Данные на карте не будут считаться ни в одной точке приложения.
- Время от времени содержимое будет сбрасываться в файл.
Я хотел бы знать следующее:
- В этом случае было бы необходимо синхронизировать метод записи?
- Выполняет ли ConcurrentHashMap мои потребности?
- Если нет, то какова была бы правильная реализация Карты для использования в этом случае?
_ "Данные на карте не будут считаться ни в какой точке приложения" _, а затем _ "Время от времени содержимое будет сбрасываться в файл" _ - так как вы дампируете файл без чтение карты? –
Эти две точки несовместимы: «Данные на карте не будут читаться в любой момент приложения» и «Время от времени содержимое будет сбрасываться в файл». Содержимое не может быть сбрасыто в файл, не считывая полного содержимого карты. –
Возможно, вы также захотите рассмотреть одну карту на поток и затем слить их, когда вы дамп в файл. Затем доступ к картам будет блокироваться только тогда, когда вы дамп в файл вместо блокировки для каждой записи. – xp500