Sobes.tech
Junior — Middle

Felsorolnád a kontextus különböző használati eseteit a programozásban vagy rendszerarchitektúrában?

sobes.tech MI

Válasz az MI-től

A Go nyelvben a context az végrehajtási állapotról szóló információk továbbítására, műveletek megszakítására és időhatárok beállítására szolgál goroutine-ok és függvények között. A kontextus fő felhasználási forgatókönyvei:

  • Műveletek megszakítása: lehetővé teszi hosszú vagy blokkoló műveletek megszakítását, például szerverlezárás vagy kérés megszakítása esetén.
  • Időhatárok továbbítása: beállítható egy idő, amely után a műveletet meg kell szakítani.
  • Értékek továbbítása: a kontextus kulcs-érték párokat tartalmazhat, például kérésazonosítókat, hitelesítési tokeneket.
  • Szinkronizáció: segít több goroutine munkájának koordinálásában, hogy azok helyesen fejeződjenek be.

Használati példa:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

// a ctx-t átadjuk egy olyan függvénynek, amely időkorlát miatt megszakítható
result, err := doSomething(ctx)

Így a context segít az műveletek életciklusának kezelésében és metainformációk továbbításában.