Waarom kom gelyktydige wysigingsuitsondering in java voor?

INHOUDSOPGAWE:

Waarom kom gelyktydige wysigingsuitsondering in java voor?
Waarom kom gelyktydige wysigingsuitsondering in java voor?
Anonim

The ConcurrentModificationException vind plaas wanneer probeer word om 'n voorwerp gelyktydig gewysig te word wanneer dit nie toelaatbaar is nie. Hierdie uitsondering kom gewoonlik wanneer 'n mens met Java Collection-klasse werk. Byvoorbeeld - Dit is nie toelaatbaar vir 'n draad om 'n versameling te wysig wanneer 'n ander draad daaroor herhaal nie.

Hoe maak ek gelyktydige wysigingsuitsondering reg?

Ons kan ook die Gelyktydige Modifikasie-uitsondering vermy in 'n enkele skroefdraad-omgewing. Ons kan die verwyderingsmetode van Iterator gebruik om die voorwerp van die onderliggende versamelingsvoorwerp te verwyder. Maar in hierdie geval kan jy net dieselfde voorwerp en nie enige ander voorwerp van die lys verwyder nie.

Hoe voorkom jy gelyktydige wysigingsuitsondering op 'n kaart?

gebruik ConcurrentHashMap. hou aan om eenvoudige HashMap te gebruik, maar bou 'n nuwe kaart op elke wysiging en wissel kaarte agter die skerms (sinchroniseer die skakeloperasie of gebruik AtomicReference)

Watter metode van iterator gooi gelyktydige wysigingsuitsondering?

As ons 'n reeks metodes op 'n voorwerp aanroep wat sy kontrak oortree, dan gooi die voorwerp ConcurrentModificationException. Byvoorbeeld: as ons, terwyl ons oor die versameling itereer, direk probeer om daardie versameling te wysig, dan sal die gegewe fail-fast iterator hierdie ConcurrentModificationException gooi.

Wat is die gelyktydige wysigingsuitsondering in Java-stapeloorloop?

As 'n enkele draad 'n reeks metode-aanroepe uitreik wat die kontrak van 'n voorwerp oortree, kan die voorwerp hierdie uitsondering gooi. Byvoorbeeld, as 'n draad 'n versameling direk wysig terwyl dit oor die versameling herhaal word met 'n mislukte iterator, sal die iterator hierdie uitsondering gooi.

Aanbeveel:

Interessante artikels
Wat is 'n nie-toestemmingsbrief?
Lees meer

Wat is 'n nie-toestemmingsbrief?

'n "Geen toestemming"-brief is 'n geskrewe dokument wat sê dat jy, as ouer of voog, nie instem tot die skool se gebruik van selfbeheersing of afsondering in reaksie op jou kind se gedrag nie. Wat is 'n toestemmingsbrief? Toestemmingsbrief:

Wanneer om squalid in 'n sin te gebruik?
Lees meer

Wanneer om squalid in 'n sin te gebruik?

Sy het die eerste ses jaar van haar lewe in haglike toestande deurgebring. Die nege mans en twee vroue is in haglike toestande gesit en het dae lank net aartappels geëet. Vroue is in die huis geïdealiseer, maar huise was dikwels slordig. Toestande in die kamp was swak, het hy gesê.

Is uridien en urasiel?
Lees meer

Is uridien en urasiel?

Uridien is 'n pirimidiennukleosied, wat bestaan uit uracil en ribose, en vorm 'n deel van RNA wat nie nodig is vir endogene sintese van nukleïensure nie, alhoewel dit 'n belangrike rol in die sintese van glikogeen. Is uridien en uracil dieselfde?