Obsah:
Definice - Co znamená atomová?
Atomic je sada nástrojů tříd proměnných java.util.concurrent.atomic, které pomáhají při psaní algoritmů zámku a čekání bez jazyka Java. Algoritmus vyžadující pouze částečná vlákna pro neustálý pokrok je bez zámku. V algoritmu bez čekání čeká postupování všech vláken nepřetržitě, a to i v případě selhání nebo zpoždění vlákna. Algoritmy blokování a čekání jsou známé také jako neblokující algoritmy. Algoritmy bez blokování se používají pro plánování procesů a podprocesů na úrovni operačního systému a virtuálního stroje Java.
Techopedia vysvětluje atomovou
Všechny třídy balíků java.util.concurrent.atomic mají v názvu názvy předponu „atomic“. Balíček java.util.concurrent.atomic obsahuje různé typy atomových proměnných, včetně:
- AtomicBoolean
- AtomicInteger
- AtomicIntegerArray
- AtomicIntegerFieldUpdater
- AtomicLong
- AtomicLongArray
- AtomicLongFieldUpdater
- AtomicReference
Příkladem je scénář, kde vlákno A obsahuje zámek. A je schopen pouze přistupovat a provádět změny proměnných chráněných tímto zámkem. Pokud vlákno B drží tento zámek po A, pak pouze B může zobrazit změny A u proměnných chráněných tímto konkrétním zámkem. Hlavní problém se zamknutím nastane, když se B pokusí získat zámek držený A. V tomto případě je B blokováno, dokud nebude zámek k dispozici. Tento problém vyřeší neblokující algoritmy.
Hlavním účelem výstavby atomových tříd je implementace neblokujících datových struktur a jejich souvisejících tříd infrastruktury. Atomové třídy neslouží jako náhrady za třídy java.lang.Integer a související třídy. Většina tříd balíků java.util.concurrent používá místo synchronizace přímo nebo nepřímo atomové proměnné. Atomové proměnné se také používají k dosažení vyšší propustnosti, což znamená vyšší výkon aplikačního serveru.
