Bolehkah kita menggunakan peta cincang dalam persekitaran berbilang benang?

Isi kandungan:

Bolehkah kita menggunakan peta cincang dalam persekitaran berbilang benang?
Bolehkah kita menggunakan peta cincang dalam persekitaran berbilang benang?
Anonim

Apa yang salah menggunakan HashMap dalam persekitaran berbilang benang? … Ia adalah masalah jika berbilang utas menambah pada contoh HashMap yang sama tanpa ia disegerakkan. Walaupun hanya 1 utas yang mengubah suai HashMap dan utas lain membaca dari peta yang sama tanpa penyegerakan, anda akan menghadapi masalah.

Bolehkah anda menggunakan HashMap dalam persekitaran berbilang benang?

Anda mesti memastikan: Semua kemas kini pada HashMap dilengkapkan sebelum utas dibuat serta-merta dan utas yang mencipta peta juga memisahkan urutan. Urutan hanya menggunakan HashMap dalam mod baca sahaja – sama ada dapatkan atau lelaran tanpa dialih keluar. Tiada urutan mengemas kini peta.

Mengapa HashMap tidak boleh digunakan dalam persekitaran berbilang benang bolehkah ia menyebabkan gelung tak terhingga juga?

Kapasiti lalai HashMap ialah 16 dan Faktor Muatan ialah 0.75, yang bermaksud HashMap akan menggandakan kapasitinya apabila pasangan Nilai-Kekunci ke-12 masuk ke dalam peta (160.75=12). Apabila 2 utas cuba mengakses HashMap serentak, maka anda mungkin menghadapi gelung tak terhingga. Thread 1 dan Thread 2 cuba meletakkan pasangan nilai kunci ke-12.

Adakah HashMap mendapatkan urutan selamat?

HashMap tidak disegerakkan. Ia tidak selamat untuk benang dan tidak boleh dikongsi antara banyak utas tanpa kod penyegerakan yang betul manakala Hashtable disegerakkan.

Apa yang paling sesuai untuk berbilang benangpersekitaran?

Jawapan ialah "ConcurrentHashMap"

Disyorkan:

Artikel yang menarik
Apakah itu kod pos desoto?
Baca lebih lanjut

Apakah itu kod pos desoto?

DeSoto ialah sebuah bandar di Dallas County, Texas, di Amerika Syarikat. Kemas kini Banci AS pada Julai 2019 menganggarkan bahawa DeSoto mempunyai populasi 52, 988. DeSoto ialah pinggir bandar Dallas dan merupakan sebahagian daripada kawasan Barat Daya Terbaik, termasuk DeSoto, Cedar Hill, Duncanville dan Lancaster.

Manakah lebih baik tomato rebus atau potong dadu?
Baca lebih lanjut

Manakah lebih baik tomato rebus atau potong dadu?

Tomato rebus paling baik digunakan dalam hidangan yang memerlukan sama ada kepingan tomato masak yang lebih besar, seperti panggang periuk atau makanan yang memerlukan masa memasak yang lebih lama, seperti rebusan dan cili. Apabila tomato rebus masak, dinding selnya rosak, menjadikannya lebih lembek dan kurang pejal berbanding tomato yang dipotong dadu.

Di mana dalam Alkitab ia bercakap tentang penyakit sampar?
Baca lebih lanjut

Di mana dalam Alkitab ia bercakap tentang penyakit sampar?

26:25, apabila Israel jatuh ke dalam pelanggaran perjanjian, Tuhan berkata, “Aku akan mengirimkan penyakit sampar kepadamu.” Dalam II Tawarikh 6:28, Salomo berkata jika ada penyakit sampar, kelaparan atau kemarau, semoga Tuhan mendengar dari bait doa orang ramai.