Я сделал хэш-карту объектов в моей службе, как частную переменную-член. Но, я слышал, что хэш-карты не подходят для параллельного программирования. Я не понимаю, что это значит, какие последствия/побочные эффекты могут оказать на мое обслуживание. Я столкнулся с одновременными хэшмапами. Должен ли я использовать их вместо этого. В чем разница между тем, как и когда следует использовать одно или другое? Если у кого-то есть знания в этой области, пожалуйста, помогите!Hashmap для параллельного программирования
ответ
Когда вы говорите о параллельном программировании в java, вы говорите только о многопоточных приложениях. Вам нужно беспокоиться о том, что ваши структуры данных должны быть потокобезопасными, только если более чем один поток может получить доступ к этой структуре данных. Это не имеет ничего общего с тем, что структура данных является статической или переменной экземпляра. Если в вашей службе вы создаете больше, чем на потоке, например, и все эти потоки получают доступ к хеш-карте, вам, вероятно, потребуется синхронизировать доступ к этой хэш-карте. В таких случаях, даже если вы используете потокобезопасную структуру данных, имейте в виду, что безопасность потока гарантируется только при одной операции. Это означает, например, что если у вас есть фрагмент кода, который выполняет несколько операций над структурой данных и вы хотите, чтобы эти операции были атомарными, вам нужно синхронизировать себя с потоками, чтобы сделать эту транзакцию атомной. Чтобы лучше понять этот аргумент, пожалуйста, взгляните на http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html
- 1. Приложение для параллельного программирования
- 2. Язык .NET для параллельного программирования
- 3. Разделение параллельного HashMap
- 4. Параллельного вопрос программирования Java
- 5. Преимущества параллельного программирования
- 6. с ++ параллельного программирования ошибка
- 7. Оптимизация параллельного программирования
- 8. C++ функции параллельного программирования
- 9. Инструменты для параллельного программирования Silverlight и .NET?
- 10. Microsoft API для параллельного программирования в C
- 11. Идеи для проекта параллельного программирования учеников
- 12. Почему Clojure вместо Java для параллельного программирования
- 13. Выбор модели согласования для параллельного языка программирования
- 14. Методы выполнения параллельного программирования Oracle
- 15. Мастер параллельного программирования в java
- 16. Производительность асинхронного программирования и параллельного программирования, заблокированного для одного потока
- 17. параллельного программирования C# 4.0 Task.StartNew
- 18. Самый полезный алгоритм параллельного программирования?
- 19. Использование параллельного программирования в C#
- 20. Назначение параллельного программирования в java
- 21. Рецензирование `evalPair` из параллельного и параллельного программирования в Haskell
- 22. Режим параллельного программирования: Scala vs OpenCL
- 23. Какие API параллельного программирования вы используете?
- 24. Какие преимущества у Scala для Java для параллельного программирования?
- 25. Проблема параллельного программирования на языке Python
- 26. Измерение производительности параллельного программирования в многоядерных процессорах
- 27. Оптимизация C код без параллельного программирования
- 28. Java: использование параллельного hashmap или кэша memcached
- 29. Обработка массива параллельного программирования в Python
- 30. модели параллельного программирования; какой шаблон выбрать !?
, если ваше приложение для Android не имеет многопоточности, а поток использует hashMap, вам не нужно беспокоиться. –
Посмотрите: http://stackoverflow.com/questions/510632/whats-the-difference-between-concurrenthashmap-and-collections-synchronizedmap – Ali
Но я не понимаю, что созданный объект hashmap не является статическим , Таким образом, каждый поток будет иметь свой собственный объект hashmap (если только разные потоки не работают на одном и том же объекте) и не будет мешать хэш-карте других потоков. В этом случае мне не нужно беспокоиться о том, чтобы сделать мой хэш-файл одновременно/потокобезопасным. Правильно. – superuser