Apakah utas Vektor aman di Jawa?
Apakah utas Vektor aman di Jawa?

Video: Apakah utas Vektor aman di Jawa?

Video: Apakah utas Vektor aman di Jawa?
Video: NDX A.K.A – Apa Kabar Mantan I JOOX Original (Official Music Video) 2024, November
Anonim

Vektor semua metode disinkronkan. Jadi menggunakannya dari banyak benang adalah " aman ". Anda hanya perlu menyinkronkan jika Anda memerlukan proses baca-evaluasi-tulis menjadi atomik. Menyinkronkan metode Anda sendiri tidak selalu membuat kode Anda benang - aman untuk skenario tersebut.

Dengan mengingat hal ini, apakah utas daftar aman di Jawa?

Faktanya, semua kelas koleksi (kecuali Vector dan Hashtable) di Jawa . paket util tidak benang - aman . Makanya baru koleksi ( Daftar , Set, Map, dll) tidak memberikan kontrol konkurensi sama sekali untuk memberikan kinerja maksimum dalam aplikasi single-threaded.

Demikian pula, koleksi mana yang aman untuk utas di Jawa? A benang - aman kelas adalah kelas yang menjamin keadaan internal kelas serta nilai yang dikembalikan dari metode, benar saat dipanggil secara bersamaan dari beberapa benang . NS koleksi kelas yang benang - aman di jawa adalah Stack, Vector, Properties, Hashtable, dll.

Dengan mempertimbangkan hal ini, apakah utas Java HashSet aman?

HashSet tidak HashSet aman utas di dalam Jawa tidak benang aman karena tidak disinkronkan secara default. Jika Anda menggunakan HashSet dalam lingkungan multi-utas yang diakses oleh banyak benang secara bersamaan dan dimodifikasi secara struktural bahkan oleh satu benang maka itu harus disinkronkan secara eksternal.

Manakah ArrayList atau vektor yang aman untuk thread?

Vektor lambat seperti itu benang aman . Dibandingkan Daftar Array cepat karena tidak sinkron. Jadi di Daftar Array dua atau lebih benang dapat mengakses kode pada saat yang sama, sementara Vektor terbatas pada satu benang pada suatu waktu. A Vektor default untuk menggandakan ukuran array-nya.

Direkomendasikan: