HashMapን ባለብዙ ክር አካባቢ መጠቀም ምን ችግር አለው? … ሳይመሳሰል በርካታ ክሮች ወደ ተመሳሳይ HashMap ምሳሌ እየጨመሩ ከሆነ ችግር ነው። ምንም እንኳን 1 ክር ብቻ HashMapን እየቀየረ ቢሆንም እና ሌሎች ክሮች ከተመሳሳዩ ካርታ ላይ ሳያመሳስሉ እያነበቡ ችግሮች ያጋጥሙዎታል።
HashMapን ባለብዙ ክርችት አካባቢ መጠቀም ይችላሉ?
እርግጠኛ መሆን አለቦት፡ ሁሉም የሃሽ ካርታ ማሻሻያዎች የተጠናቀቁት ክሮቹ ከመቅጣታቸው በፊት እና ካርታውን የሚፈጥረው ክር ደግሞ ክሮቹን ከመንኳኳቱ በፊት ነው። ክሮቹ HashMapን በተነባቢ-ብቻ ሁነታ ብቻ ነው እየተጠቀሙ ያሉት - ወይ ያግኙ ወይም ሳይወገዱ ይድገሙት። ካርታውን የሚያዘምኑ ክሮች የሉም።
ለምንድነው HashMap በበርካታ ተረበድ አካባቢዎች ጥቅም ላይ መዋል የሌለበት ማለቂያ የሌለው ዑደት ሊያስከትል ይችላል?
የHashMap ነባሪ አቅም 16 እና የሎድ ፋክተር 0.75 ነው፣ ይህ ማለት HashMap 12ኛ የቁልፍ እሴት ጥንድ በካርታው ውስጥ ሲገባ አቅሙን በእጥፍ ይጨምራል (160.75=12)። 2 ክር HashMapን በአንድ ጊዜ ለመድረስ ሲሞክር፣ ያኔ ማለቂያ የሌለው ዑደት ሊያጋጥሙዎት ይችላሉ። ክር 1 እና ፈትል 2 12ኛ ቁልፍ እሴት ጥንድ ለማስቀመጥ ይሞክራሉ።
HashMap ክሩ ደህንነቱ የተጠበቀ ነው?
HashMap አልተመሳሰለም። በክር-አስተማማኝ አይደለም እና ብዙ ክሮች ያለ ትክክለኛው የማሳመሪያ ኮድ ማጋራት አይቻልም ነገር ግን Hashtable ሲመሳሰል።
ለባለ ብዙ ክር የሚስማማውአካባቢ?
መልሱ "ConcurrentHashMap" ነው