უსაფრთხოა თუ არა ვექტორული ძაფი ჯავაში?
უსაფრთხოა თუ არა ვექტორული ძაფი ჯავაში?

ვიდეო: უსაფრთხოა თუ არა ვექტორული ძაფი ჯავაში?

ვიდეო: უსაფრთხოა თუ არა ვექტორული ძაფი ჯავაში?
ვიდეო: Vectors in Java: The 1 Situation You Might Want To Use Them 2024, მაისი
Anonim

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

ამის გათვალისწინებით, არის თუ არა სიის ძაფები უსაფრთხო ჯავაში?

ფაქტობრივად, ყველა კოლექციის კლასი (გარდა Vector და Hashtable) in ჯავა . Util პაკეტი არ არის ძაფი - უსაფრთხო . ამიტომაც ახალი კოლექციები ( სია , კომპლექტი, რუკა და ა.შ.) არ იძლევა კონკურენტულობის კონტროლს, რათა უზრუნველყოს მაქსიმალური შესრულება ერთნაკადიან აპლიკაციებში.

ანალოგიურად, რომელი კოლექციაა ჯავაში ძაფების უსაფრთხოდ? ა ძაფი - უსაფრთხო კლასი არის კლასი, რომელიც უზრუნველყოფს კლასის შიდა მდგომარეობას, ისევე როგორც მეთოდებიდან დაბრუნებულ მნიშვნელობებს, რომლებიც სწორია მრავალჯერადი ერთდროულად გამოძახებისას. ძაფები . The კოლექცია კლასები, რომლებიც არიან ძაფი - უსაფრთხო ჯავაში არის Stack, Vector, Properties, Hashtable და ა.შ.

ამის გათვალისწინებით, უსაფრთხოა თუ არა Java HashSet თემა?

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

რომელია ძაფით უსაფრთხო ArrayList თუ ვექტორი?

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

გირჩევთ: