უსაფრთხოა თუ არა concurrenthashmap დაყენებული ძაფი?

Სარჩევი:

უსაფრთხოა თუ არა concurrenthashmap დაყენებული ძაფი?
უსაფრთხოა თუ არა concurrenthashmap დაყენებული ძაფი?
Anonim

ConcurrentHashMap-ის საკვანძო პუნქტები: ConcurrentHashMap კლასი არის thread-safe, ანუ მრავალ ძაფს შეუძლია მუშაობა ერთ ობიექტზე ყოველგვარი გართულების გარეშე. … ConcurrentHashMap-ში ობიექტი იყოფა რამდენიმე სეგმენტად კონკურენტულობის დონის მიხედვით.

უსაფრთხოა ძაფი?

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

არის თუ არა ConcurrentHashMap ზომა ნაკადისთვის?

Class ConcurrentHashMap ჰეშის ცხრილი, რომელიც მხარს უჭერს მოძიების სრულ თანხვედრას და მაღალი მოსალოდნელი კონკურენტულობას განახლებისთვის. … თუმცა, მიუხედავად იმისა, რომ ყველა ოპერაცია უსაფრთხოა ძაფისთვის, მოძიების ოპერაციები არ მოითხოვს ჩაკეტვას და არ არსებობს მხარდაჭერა მთელი ცხრილის ჩაკეტვისთვის ისე, რომ თავიდან აიცილოს ყველანაირი წვდომა.

არის თუ არა HashMap-ის მიღება ნაკადისთვის?

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

რატომ არის ConcurrentHashMap უსაფრთხო?

კონკურენტული პაკეტი, როგორიცაა ConcurrentHashMap, CopyOnWriteArrayList და ა.შ. არის უვნებლად უსაფრთხო ბუნებაში. ზემოთ მოცემულ კოდის ნაწყვეტში ჩვენ ვიყენებთ Fail-Safe Iterator-ს. მაშასადამე, მიუხედავად იმისა, რომ კრებულს ემატება ახალი ელემენტიგამეორება, ის არ აყენებს გამონაკლისს.

გირჩევთ: