Junior — Middle
Каква е целта на функцията за връщане Cancel в метода Context.WithTimeout?
sobes.tech AI
Отговор от AI
Функцията Cancel, връщана от метода context.WithTimeout, е предназначена за явно отменяне на контекста преди изтичането на зададения таймаут. Викайки тази функция, освобождават се ресурсите, свързани с контекста, и се сигнализира на всички слушатели за необходимостта да прекратят работата. Това е важно за предотвратяване на течове на ресурси, особено ако операцията приключи по-рано от таймаута.
Пример за използване:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() // гарантира освобождаването на ресурсите
// използвайте ctx в операции, които могат да бъдат отменени