Sobes.tech
Junior — Middle

Kokios papildomos funkcijos ir galimybės buvo įdiegta konteksto metoduose su Go 1.21 pasirodymu?

sobes.tech AI

Atsakymas iš AI

Go 1.21 versijoje buvo pridėti patobulinimai context paketui, kurie išplečia konteksto valdymo galimybes:

  • Parama atšaukimui su laiko limitu ir deadline tapo lankstesnė.
  • Pridėtos naujos funkcijos patogiam kelių kontekstų sujungimui.
  • Pagerintas našumas ir sumažintas atminties suvartojimas dirbant su kontekstais.

Pavyzdžiui, dabar galima kurti kontekstus, kurie automatiškai atšaukiami, kai įvykdomi keli sąlygos, tai supaprastina operacijų gyvavimo ciklo valdymą:

ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)

ctx := context.Merge(ctx1, ctx2) // hipotezinė sujungimo funkcija

// Naudokite ctx užklausose ar gorutinose

// Atšaukite abu kontekstus
cancel1()
cancel2()

(Atkreipkite dėmesį, kad tiksli sintaksė ir funkcijos gali skirtis, nes naujos galimybės priklauso nuo konkrečios įgyvendinimo versijos Go 1.21.)