Atomu

Autors: Monica Porter
Radīšanas Datums: 17 Martā 2021
Atjaunināšanas Datums: 25 Jūnijs 2024
Anonim
ROOM TOUR 2021 🪴 | 새로운 집 룸투어 ทัวร์ห้องใหม่
Video: ROOM TOUR 2021 🪴 | 새로운 집 룸투어 ทัวร์ห้องใหม่

Saturs

Definīcija - ko nozīmē Atomic?

Atomic ir mainīgo java.util.concurrent.atomic pakotņu klašu komplekts, kas palīdz rakstīt bloķēšanas un bez nogaidīšanas algoritmus ar Java valodu. Algoritms, kas prasa tikai daļējus pavedienus pastāvīgam progresam, nav bloķēts. Algoritmā bez nogaidīšanas visi pavedieni nepārtraukti progresē, pat pavedienu atteices vai aizkavēšanās gadījumos. Bloķēšanas un nogaidīšanas algoritmi ir zināmi arī kā bloķēšanas algoritmi. Nebloķējošos algoritmus izmanto procesu un pavedienu plānošanai operētājsistēmas un Java virtuālās mašīnas līmeņos.


Ievads Microsoft Azure un Microsoft Cloud | Šajā rokasgrāmatā jūs uzzināsit, kas ir mākonis skaitļošana un kā Microsoft Azure var palīdzēt jums migrēt un vadīt savu biznesu no mākoņa.

Techopedia skaidro Atomic

Visām java.util.concurrent.atomic pakotņu klasēm ir "atomu" prefikss to nosaukumos. Java.util.concurrent.atomic paketē ir pieejami dažādi atomu mainīgo veidu veidi, tostarp:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Java valodā sinhronizācija koordinē piekļuvi koplietotajiem pavedienu laukiem un ļauj tikai pavedieniem, kas satur slēdzenes, piekļūt un modificēt mainīgos, kurus aizsargā slēdzene. Šī pavediena modifikācijas ir redzamas sekojošajam pavedienam, bet tikai pēc tam, kad pavediens atbrīvo slēdzeni.
Kā piemēru var minēt scenāriju, kurā vītne A tur slēdzeni. A var piekļūt un veikt izmaiņas tikai mainīgajiem, kurus aizsargā šī slēdzene. Ja pavediens B tur šo slēdzeni aiz A, tad tikai B var skatīt A izmaiņas mainīgajos lielumos, kurus aizsargā šī konkrētā slēdzene. Galvenā bloķēšanas problēma rodas, kad B mēģina iegūt A turētu slēdzeni. Šajā gadījumā B tiek bloķēts, lai gaidītu, līdz slēdzene ir pieejama. Nebloķējošie algoritmi atrisina šo problēmu.

Galvenais atomu klašu veidošanas mērķis ir nebloķējošu datu struktūru un ar tām saistīto infrastruktūras klašu ieviešana. Atomu klases neizmanto java.lang.Integer un saistīto klašu aizstājējus. Lielākā daļa java.util.concurrent pakešu klašu tieši vai netieši sinhronizācijas vietā izmanto atomu mainīgos. Atomu mainīgie tiek izmantoti arī, lai sasniegtu lielāku caurlaidspēju, kas nozīmē augstāku lietojumprogrammu servera veiktspēju. Šī definīcija tika uzrakstīta Java valodā