შეგვიძლია გამოვიყენოთ ჰეშმაპი მრავალძაფის გარემოში?

Სარჩევი:

შეგვიძლია გამოვიყენოთ ჰეშმაპი მრავალძაფის გარემოში?
შეგვიძლია გამოვიყენოთ ჰეშმაპი მრავალძაფის გარემოში?
Anonim

რა არის არასწორი HashMap-ის გამოყენება მრავალძალიან გარემოში? … პრობლემაა, თუ რამდენიმე თემა ემატება HashMap-ის ერთსა და იმავე ინსტანციასმისი სინქრონიზაციის გარეშე. მაშინაც კი, თუ მხოლოდ 1 თემა ცვლის HashMap-ს და სხვა ძაფები კითხულობენ იმავე რუკიდან სინქრონიზაციის გარეშე, პრობლემები შეგექმნებათ.

შეგიძლიათ გამოიყენოთ HashMap მრავალძალიან გარემოში?

თქვენ უნდა დარწმუნდეთ: HashMap-ის ყველა განახლება დასრულებულია ძაფების ინსტალაციამდე და თემა, რომელიც ქმნის რუკას, ასევე არღვევს ძაფებს. ძაფები იყენებენ მხოლოდ HashMap-ს მხოლოდ წაკითხვის რეჟიმში - მიღება ან გამეორება წაშლის გარეშე. რუკის განახლების თემა არ არის.

რატომ არ უნდა იქნას გამოყენებული HashMap მრავალძალიან გარემოში, შეიძლება მან გამოიწვიოს უსასრულო მარყუჟიც?

HashMap-ის ნაგულისხმევი ტევადობა არის 16, ხოლო ჩატვირთვის ფაქტორი არის 0.75, რაც ნიშნავს, რომ HashMap გააორმაგებს მის მოცულობას, როდესაც მე-12 Key-Value წყვილი შევა რუკაში (160.75=12). როდესაც 2 თემა ერთდროულად ცდილობს HashMap-ზე წვდომას, მაშინ შეიძლება შეგხვდეთ უსასრულო მარყუჟი. თემა 1 და თემა 2 ცდილობს დააყენოს მე-12 გასაღები-მნიშვნელობის წყვილი.

უსაფრთხოა თუ არა HashMap მისაღებად თემა?

HashMap არ არის სინქრონიზებული. ეს არ არის ნაკადისთვის უსაფრთხო და არ შეიძლება გაზიაროთ ბევრ თემას შორის შესაბამისი სინქრონიზაციის კოდის გარეშე, მაშინ როცა Hashtable სინქრონიზებულია.

რა არის საუკეთესოდ შეეფერება მრავალძაფიანსგარემო?

პასუხია "ConcurrentHashMap"

გირჩევთ:

საინტერესო სტატიები
ნუტრიოსო თოვს?
Წაიკითხე მეტი

ნუტრიოსო თოვს?

Nutrioso საშუალოდ 58 ინჩი თოვლია წელიწადში. აქვს თუ არა თოვლი Winters Texas? ზამთარი საშუალოდ 1 ინჩი თოვს წელიწადში. მოთოვება მოულოდნელად ველზე? Sudden Valley საშუალოდ 17 ინჩი თოვლი წელიწადში. რამდენი ცივა სენდი იუტა? სენდიში ზაფხული ცხელი, მშრალი და ძირითადად წმინდაა, ზამთარი კი ყინვაგამძლე და ნაწილობრივ მოღრუბლული.

რას ნიშნავს კრისტიანსენი?
Წაიკითხე მეტი

რას ნიშნავს კრისტიანსენი?

კრისტიანსენი (დანიური გამოთქმა: [kʰʁeˈstjænˀsn̩]) არის დანიური და ნორვეგიული პატრონიმური გვარი, სიტყვასიტყვით ნიშნავს ქრისტიანის შვილს. მართლწერის ვარიანტს Kristiansen აქვს იდენტური გამოთქმა. რას ნიშნავს კრისტენსენი? კრისტენსენი დანიური გამოთქმა:

მსგავსია თუ არა ოქტანტები და კვადრატები?
Წაიკითხე მეტი

მსგავსია თუ არა ოქტანტები და კვადრატები?

მყარ გეომეტრიაში ოქტანტი არის კოორდინატების ნიშნებით განსაზღვრული ევკლიდეს სამგანზომილებიანი კოორდინატთა სისტემის რვა განყოფილებიდან ერთ-ერთი. ის მსგავსია ორგანზომილებიანი კვადრატისა და ერთგანზომილებიანი სხივის. სად არის ოქტანტები? ორი ვექტორის შუა წერტილი არის მდებარეობა მათი ბოლო წერტილების ცენტრში.