Я не ищу различия между различными структурами данных, такими как HashMap
, Collections.synchronizedMap(Map)
или HashTable
. SO полон таких сообщений.Практические примеры использования ConcurrentHashMap
Я также знаю, что ConcurrentHashMap не будет выбрасывать ConcurrentModificationException
для чтения, если другой поток записи изменяет карту.
Что я ищу о практических сценариях, когда поток читателей может позволить себе работать на устаревшие данные?
i.e. позволяет сказать, что thread-1 получает Iterator
в момент времени T1 в потоке, а затем в момент времени T2 элемент вставляется для сопоставления другой нитью-нитью-2. ConcurrentHashMap
говорит, что в потоке-1 не гарантируется просмотр обновленных данных, поэтому я думаю, что он продолжает повторять устаревшие данные.
Может ли кто-нибудь указать мне на конкретные проблемы, если это можно считать ОК? как в реализации кеша, многопоточных веб-сервисов и т. д. или проблем с вашего собственного практического опыта?
Все проблемы, с которыми я столкнулся, всегда требовали обновленного представления данных, поскольку это была целая цель вставить данные на карту, чтобы читатели могли работать с обновленными данными, в качестве альтернативы, какие были проблемы, когда синхронизированная карта не подходит ?
В теории все выглядит хорошо, но мое любопытство возникло с тех пор, как я никогда не сталкивался с таким сценарием в своей повседневной работе, где читатели могли позволить себе работать на устаревшем виде.
Почему пустые голоса? из-за длинной записи? только пустые голоса и ответов нет? Мой вопрос возник из общего представления о том, что «HashMap» заменяется на «ConcurrentHashMap» в многопоточной среде, а на самом деле они представляют собой совершенно разные варианты использования. Существуют проблемы, при которых 'HashMap' не может быть заменен' ConcurrentHashMap' даже в многопоточной среде, и я не знаю случаев использования для 'ConcurrentHashMap'. –
Вниз голоса иногда имеют эффект лавины. Вместо этого они могли бы проверить свой интеллект, отвечая кому-то, кто в этом нуждается. – user104309