19
ConcurrentHashMap และ Collections.synchronizedMap (แผนที่) แตกต่างกันอย่างไร
ฉันมีแผนที่ซึ่งจะต้องแก้ไขหลายกระทู้พร้อมกัน ดูเหมือนจะมีการใช้งานแผนที่ที่แตกต่างกันสามแบบใน Java API: Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap จากสิ่งที่ฉันเข้าใจHashtableคือการใช้งานเก่า (การขยายDictionaryคลาสล้าสมัย) ซึ่งได้รับการดัดแปลงในภายหลังเพื่อให้พอดีกับMapอินเตอร์เฟส แม้ว่าจะมีการซิงโครไนซ์ แต่ดูเหมือนว่าจะมีปัญหาเรื่องความสามารถในการปรับขนาดได้และไม่สนับสนุนโครงการใหม่ ๆ แต่แล้วอีกสองอันล่ะ? อะไรคือความแตกต่างระหว่าง Maps ที่ส่งคืนโดยCollections.synchronizedMap(Map)และConcurrentHashMaps? สิ่งที่เหมาะกับสถานการณ์ใด