Sobes.tech
Middle+

Na čo sa používa kľúčové slovo volatile v programovaní?

sobes.tech AI

Odpoveď od AI

volatile sa používá na označenie kompilátora a procesora, že hodnota premennej môže byť zmenená nezávislým vláknom alebo externou udalosťou v porovnaní s aktuálnym vykonaním procesora (napríklad zariadenie vstupu/výstupu).

Použitie:

  1. Viacvláknové programovanie: Zabezpečuje, že pri každom prístupe k premennej sa jej hodnota načíta z operačnej pamäti a nie z registra alebo cache procesora. Tým sa zabraňuje optimalizáciám kompilátora, ktoré by mohli viesť k zastaraným hodnotám v prostredí s viacerými vláknami.
  2. Interakcia s hardvérom: Používa sa pre premenne, ktoré odrážajú stav hardvérových registrov alebo portov vstupu/výstupu, ktorých hodnota sa môže meniť nepredvídateľne.

V Swift a Objective-C sa volatile používa podobne ako v C/C++.

Príklad použitia v C/Objective-C:

volatile int sharedFlag; // Zdieľaná premenná, prístupná z rôznych vlákien