FixedOrderComparator-ის შემთხვევები სინქრონიზებული არ არის. კლასი არ არის ძაფისთვის უსაფრთხო მშენებლობის დროს, მაგრამ უსაფრთხოა ძაფებში, რათა განხორციელდეს მრავალი შედარება მას შემდეგ, რაც დაყენების ოპერაციები დასრულებულია.
უსაფრთხოა თუ არა ძაფების შედარება?
შედარების იმპლემენტაციის უმეტესობა ასეთ რამეს არ აკეთებთ, მაგრამ ერთი სცენარი, რომელიც შეიძლება გონივრულად მოხდეს, არის SimpleDateFormat-ის გამოყენება სტრიქონების შესადარებლად, რომლებიც წარმოადგენენ თარიღებს. სამწუხაროდ, თავად SimpleDateFormat არ არის ძაფების უსაფრთხოდ. Comparator არის ინტერფეისი, მას არ გააჩნია თანდაყოლილი კონკურენტული თვისებები.
უსაფრთხოა თუ არა მრავალძაფიანი ძაფები?
თემა უსაფრთხოა: დანერგვა გარანტირებულია, რომ არ იქნება რბოლის პირობები, როდესაც წვდომა გაქვთ რამდენიმე ძაფით ერთდროულად. პირობითად უსაფრთხო: სხვადასხვა ძაფს შეუძლია სხვადასხვა ობიექტზე წვდომა ერთდროულად, ხოლო გაზიარებულ მონაცემებზე წვდომა დაცულია რასის პირობებისგან.
რომელი კოლექციების კლასებია უსაფრთხო?
ერთადერთი ძველი კოლექცია დაცულია ძაფებში: Vector და Hashtable.
არის Java ArrayList ნაკადისთვის?
ნებისმიერი მეთოდი, რომელიც ეხება ვექტორის შიგთავსს, უსაფრთხოა ნაკადისთვის. მეორეს მხრივ, ArrayList არის არასინქრონიზებული, რის გამოც ისინი არ არიან უსაფრთხოდ. ამ განსხვავების გათვალისწინებით, სინქრონიზაციის გამოყენება გამოიწვევს შესრულების დარტყმას. ასე რომ, თუ არ გჭირდებათ ძაფებისთვის უსაფრთხო კოლექცია, გამოიყენეთ ArrayList.