Sobes.tech
Junior — Middle

რა დამატებითი ფუნქციები და შესაძლებლობები შეიყვანეს კონტექსტის მეთოდებში Go 1.21-ის გამოჩენისთანავე?

sobes.tech AI

პასუხი AI-სგან

Go 1.21-ში, context პაკეტში, დამატებულია გაუმჯობესებები, რომლებიც ფართო შესაძლებლობებს აძლიერებს კონტექსტის მართვაში:

  • მხარდაჭერა დროით შეზღუდული და дедლაინით გაუქმების მხარდაჭერა გახდა უფრო მოქნილი.
  • დამატებულია ახალი ფუნქციები რამდენიმე კონტექსტის კომფორტული გაერთიანებისთვის.
  • გაუმჯობესდა შესრულება და შემცირდა მეხსიერების მოხმარება კონტექსტებთან მუშაობისას.

მაგალითად, ახლა შესაძლებელია შექმნათ კონტექსტები, რომლებიც ავტომატურად გაუქმდება, როდესაც რამდენიმე პირობა შესრულდება, რაც ამარტივებს ოპერაციების ციკლის მართვას:

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

ctx := context.Merge(ctx1, ctx2) // ჰიპოთეტური გაერთიანების ფუნქცია

// გამოიყენეთ ctx მოთხოვნებში ან გორუტინებში

// გაუქმეთ ორივე კონტექსტი
cancel1()
cancel2()

(შენიშვნა: ზუსტი სინტაქსი და ფუნქციები შეიძლება განსხვავდებოდეს, რადგან ახალი შესაძლებლობები დამოკიდებულია კონკრეტულ რეალიზაციაზე Go 1.21-ში.)