Hem Utveckling Vad är atomiskt i java? - definition från techopedia

Vad är atomiskt i java? - definition från techopedia

Innehållsförteckning:

Anonim

Definition - Vad betyder Atomic?

Atomic är en verktygssats för variabla java.util.concurrent.atomic-paketklasser, som hjälper till att skriva lås och väntafria algoritmer med Java-språket. En algoritm som endast kräver partiella trådar för konstant framsteg är låsfri. I en väntafri algoritm går alla trådar kontinuerligt, även i fall av trådfel eller försening. Låsa och väntafria algoritmer är också kända som icke-blockerande algoritmer. Icke-blockerande algoritmer används för process- och trådplanering på operativsystem och Java virtuella maskinnivåer.

Techopedia förklarar Atomic

Alla java.util.concurrent.atomic-paketklasser har det "atomiska" prefixet i sina namn. Det finns olika typer av atomvariabler tillgängliga i paketet java.util.concurrent.atomic, inklusive:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
På Java-språket koordinerar synkroniseringen åtkomst till delade trådfält och låter endast trådar som håller lås få åtkomst till och ändra variabler som är skyddade av låset. Trådens ändringar är synliga för tråden som följer, men först efter att tråden släppt låset.

Ett exempel är ett scenario där tråd A håller ett lås. A kan bara komma åt och göra ändringar av variabler som skyddas av detta lås. Om tråd B håller detta lås efter A, kan bara B se A: s ändringar på variablerna skyddade av det specifika låset. Det huvudsakliga problemet med låsning uppstår när B försöker skaffa ett lås som hålls av A. I detta fall blockeras B för att vänta tills låset är tillgängligt. Icke-blockerande algoritmer löser detta problem.


Det huvudsakliga syftet med att bygga atomklasser är att implementera icke-blockerande datastrukturer och deras relaterade infrastrukturklasser. Atomklasser fungerar inte som ersättare för java.lang.Integer och relaterade klasser. De flesta java.util.concurrent-paketklasser använder atomvariabler istället för synkronisering, antingen direkt eller indirekt. Atomvariabler används också för att uppnå högre genomströmning, vilket innebär högre applikationsserverprestanda.

Denna definition har skrivits i Java-sammanhang
Vad är atomiskt i java? - definition från techopedia