Junior — Middle
Lze vynuceně změnit aktuální aktivní kontext spuštění?
sobes.tech AI
Odpověď od AI
V Go (Golang) se kontext (context.Context) používá k řízení životnosti operací, přenosu signálů zrušení a časových limitů.
Aktuální aktivní kontext se obvykle předává explicitně funkcím jako parametr. Go nepodporuje vestavěný mechanismus pro globální nebo vynucenou změnu aktuálního aktivního kontextu, protože kontext musí být předáván explicitně a řízen volajícím kódem.
Pokud je potřeba změnit kontext, obvykle se vytvoří nový (například s zrušením nebo časovým limitem) a předá se dále v řetězci volání.
Příklad vytvoření a předání kontextu:
ctx, cancel := context.WithCancel(parentCtx)
// ...
cancel() // zrušení kontextu
// předat ctx funkcím
Proto není možné vynuceně změnit aktuální aktivní kontext — kontext se předává explicitně a je řízen na úrovni volání.