Vektör iş parçacığı Java'da güvenli mi?
Vektör iş parçacığı Java'da güvenli mi?

Video: Vektör iş parçacığı Java'da güvenli mi?

Video: Vektör iş parçacığı Java'da güvenli mi?
Video: Java vs Golang | w/Ali Onur Geven & Ahmet Selim Kaya 2024, Kasım
Anonim

Vektör yöntemlerin tümü senkronize edilir. Yani onu birden çok yerden kullanmak İş Parçacığı NS " güvenli ". Atomik olmak için sadece bir okuma-değerlendirme-yazma işlemine ihtiyacınız varsa senkronize etmeniz gerekir. Kendi yöntemlerinizi senkronize etmek mutlaka kodunuzu yapmaz. Konu - güvenli bu senaryolar için

Bunu göz önünde bulundurarak, liste dizisi Java'da güvenli midir?

Aslında, tüm koleksiyon sınıfları (Vector ve Hashtable hariç) java . util paketi değil Konu - güvenli . Bu yüzden yeni koleksiyonlar ( Liste , Set, Map, vb), tek iş parçacıklı uygulamalarda maksimum performans sağlamak için hiçbir eşzamanlılık denetimi sağlamaz.

Benzer şekilde, Java'da hangi koleksiyon iş parçacığı için güvenlidir? A Konu - güvenli class, sınıfın dahili durumunun yanı sıra yöntemlerden döndürülen değerlerin aynı anda birden çok kaynaktan çağrıldığında doğru olduğunu garanti eden bir sınıftır. İş Parçacığı . NS Toplamak olan sınıflar Konu - Java'da güvenli Yığın, Vektör, Özellikler, Hashtable vb.

Bunu göz önünde bulundurarak Java HashSet iş parçacığı güvenli mi?

HashSet değil iş parçacığı güvenli HashSet içinde Java değil güvenli iplik varsayılan olarak senkronize edilmediğinden. kullanıyorsanız HashSet birden çok kullanıcı tarafından erişildiği çok iş parçacıklı bir ortamda İş Parçacığı tek bir kişi tarafından bile aynı anda ve yapısal olarak değiştirilmiş Konu o zaman harici olarak senkronize edilmelidir.

Hangi iş parçacığı güvenli ArrayList veya vektör nedir?

Vektör olduğu gibi yavaş güvenli iplik . Karşılaştırıldığında Dizi Listesi senkronize olmadığı için hızlıdır. Böylece Dizi Listesi iki veya daha fazla İş Parçacığı koda aynı anda erişebilirken Vektör biriyle sınırlıdır Konu zamanında. A Vektör varsayılan olarak dizisinin boyutunu iki katına çıkarır.

Önerilen: