Sobes.tech
Middle+

K čemu slouží klíčové slovo volatile v programování?

sobes.tech AI

Odpověď od AI

volatile se používá k označení kompilátoru a procesoru, že hodnota proměnné může být změněna nezávislým vláknem nebo externí událostí ve vztahu k aktuálnímu provádění procesoru (například zařízení vstupu/výstupu).

Použití:

  1. Vícevláknové programování: Zajišťuje, že při každém přístupu k proměnné je její hodnota načtena z operační paměti a nikoli z registru procesoru nebo cache. To zabraňuje optimalizacím kompilátoru, které by mohly vést k zastaralým hodnotám v prostředí s více vlákny.
  2. Interakce s hardwarem: Používá se pro proměnné, které odrážejí stav hardwarových registrů nebo portů vstupu/výstupu, jejichž hodnota se může měnit nepředvídatelně.

V Swift a Objective-C je volatile používáno podobně jako v C/C++.

Příklad použití v C/Objective-C:

volatile int sharedFlag; // Sdílená proměnná přístupná z různých vláken