Voimmeko käyttää hashmappia monisäikeisessä ympäristössä?

Sisällysluettelo:

Voimmeko käyttää hashmappia monisäikeisessä ympäristössä?
Voimmeko käyttää hashmappia monisäikeisessä ympäristössä?
Anonim

Mitä vikaa HashMapin käytössä monisäikeisessä ympäristössä on? … On ongelma, jos samaan HashMap-instanssiin lisätään useita säikeitä ilman, että sitä synkronoidaan. Vaikka vain yksi säie muokkaa HashMapia ja muut säikeet lukevat samasta kartasta ilman synkronointia, kohtaat ongelmia.

Voitko käyttää HashMapia monisäikeisessä ympäristössä?

Sinun on varmistettava, että: Kaikki HashMapin päivitykset on tehty ennen kuin säikeet instantoituvat ja kartan luova säie myös muodostaa säikeet. Säikeet käyttävät vain HashMap vain luku -tilassa – joko hanki tai iterointi ilman poistamista. Karttaa ei ole päivittämässä viestiketjussa.

Miksi HashMapia ei pitäisi käyttää monisäikeisessä ympäristössä, voiko se aiheuttaa myös äärettömän silmukan?

HashMapin oletuskapasiteetti on 16 ja kuormituskerroin on 0,75, mikä tarkoittaa, että HashMap kaksinkertaistaa kapasiteettinsa, kun 12. avainarvopari tulee kartalle (160,75=12). Kun 2 säiettä yrittää käyttää HashMapia samanaikaisesti, saatat kohdata äärettömän silmukan. Säie 1 ja säiet 2 yrittävät asettaa 12. avainarvoparin.

Onko HashMapin ketju turvassa?

HashMap ei ole synkronoitu. Se ei ole säikeille turvallinen eikä sitä voida jakaa useiden säikeiden kesken ilman asianmukaista synkronointikoodia, kun taas Hashtable on synkronoitu.

Mikä sopii parhaiten monisäikeiseenympäristö?

Vastaus on "ConcurrentHashMap"

Suositeltava:

Mielenkiintoisia artikkeleita
Missä moottorissa tarvitaan joustavia putkia?
Lue lisää

Missä moottorissa tarvitaan joustavia putkia?

Joustavia putkia käytetään liittämään moottoreihin tai muihin laitteisiin, joissa tärinän eristäminen on hyödyllistä tai joissa tarvitaan liikaa liittimiä jäykkien liitosten käyttämiseen. Sähkökoodit voivat rajoittaa joidenkin joustavien putkien kulkua.

Mistä oranssit tabiesit ovat peräisin?
Lue lisää

Mistä oranssit tabiesit ovat peräisin?

Tutkijat havaitsivat Ottomanin v altakunnan aikana, että geneettinen mutaatio, joka on vastuussa täplän tabby-kissan turkkikuviosta, syntyi. Tämä kuvio, jota esiintyy 80 prosentilla nykyajan kissoista, yleistyi Lounais-Aasiassa, Afrikassa ja myös Euroopassa, ja se oli melko yleinen 1700-luvulla.

Mitä ovat mesenkymaaliset stroomasolut?
Lue lisää

Mitä ovat mesenkymaaliset stroomasolut?

Mesenkymaaliset stroomasolut (MSC) ovat karan muotoisia muoviin kiinnittyviä soluja, jotka on eristetty luuytimestä, rasvasta ja muista kudoslähteistä, joilla on monipotentti erilaistumiskyky in vitro. … Friendenstein kuvaili ensin MSC:itä luuytimen hematopoieettisiksi tukisoluiksi.