Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

489
Views
¿Cuál usar: HashMap y ConcurrentHashMap con valores futuros JAVA?

Básicamente, tendemos a usar ConcuttentHashMap en un entorno de subprocesos múltiples. Mi código actual es así:

 ExecutorService executor = Executors.newFixedThreadPool(3); Map<String, Future<String>> myMap = new HashMap<String, Future<String>>(); myMap.put("SomeValue", executor.submit(() -> return callAndReturnStringMethod("SomeValue")); myMap.put("AnotheValue", executor.submit(() -> return callAndReturnStringMethod("AnotheValue")); ... ....

Solo quiero almacenar el objeto futuro para las llamadas de subprocesos asíncronos correspondientes a la cadena pasada como clave en el mapa.

Mi primera pregunta: ¿Será bueno usar HashMap y no ConcurrentHashMap al tratar con el objeto Future? ¿Debo usar ConcurrentHashMap en este escenario? Segunda pregunta: ¿Cuáles podrían ser las compensaciones si uso el último?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

estas diciendo eso

Los valores del mapa no se modifican.

por lo que no debería haber ninguna razón para elegir ConcurrentHashMap. ConcurrentHashMap está destinado a proporcionar seguridad de subprocesos y atomicidad de operaciones entre subprocesos, que tampoco necesita.

Las compensaciones son que está pagando el precio de las operaciones atómicas/seguras para subprocesos cuando no las necesita. En cuanto a cuánto es realmente, depende de su aplicación.

Temas relacionados

  • Rendimiento ConcurrentHashmap vs HashMap
  • ¿Hay algún inconveniente con ConcurrentHashMap?
over 4 years ago · Santiago Trujillo Report

0

Ninguno.

Use un EnumMap y transforme su SomeValue/AnotherValue en enum s. Será más rápido de construir, más rápido de buscar y más compacto de almacenar. No veo ninguna razón para usar cualquier estructura de datos concurrentes si no planea alterar el ConcurrentHashMap en sí mismo , al mismo tiempo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!