Junior — Middle
Go 1.21 bilan kontekst usullarga qanday qo'shimcha funksiyalar va imkoniyatlar kiritildi?
sobes.tech AI
AIdan javob
Go 1.21-da, context paketiga yaxshilanishlar kiritildi, ular kontekstni boshqarish imkoniyatlarini kengaytiradi:
- Bekor qilishni timeout va deadline bilan qoʻllab-quvvatlash yanada moslashuvchan boʻldi.
- Bir nechta kontekstlarni qulay tarzda birlashtirish uchun yangi funksiyalar qoʻshildi.
- Kontekstlar bilan ishlashda ishlash samaradorligi yaxshilandi va xotira isteʼmoli kamaytirildi.
Masalan, endi bir nechta shart bajarilganda avtomatik ravishda bekor qilinadigan kontekstlar yaratish mumkin, bu operatsiyalar hayot aylanishini boshqarishni soddalashtiradi:
ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithTimeout(context.Background(), time.Second*10)
ctx := context.Merge(ctx1, ctx2) // gipotetik birlashtirish funktsiyasi
// ctx-ni soʻrovlar yoki gorutinlarda foydalaning
// Ikkala kontekstni ham bekor qiling
cancel1()
cancel2()
(Eslatma: Aniq sintaksis va funksiyalar farq qilishi mumkin, chunki yangi imkoniyatlar Go 1.21-ning aniq amalga oshirishiga bogʻliq.)