Sobes.tech
Junior — Middle

Go колдонмоңузда контексттин убакыт чектөөсүн кантип ишке ашыруу керек?

sobes.tech AI

AIден жооп

Go тилинде, контексттин убакыт чектөөсүн ишке ашыруу үчүн context пакети колдонулат. Убакыт чектөө менен контекст түзүү үчүн context.WithTimeout функциясы колдонулат, ал жаңы контекстти жана жокко чыгаруу функциясын кайтарат.

Мисал:

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

select {
case <-time.After(3 * time.Second):
    fmt.Println("операция аяктады")
case <-ctx.Done():
    fmt.Println("убакыт чектөө же контекстти жокко чыгаруу:", ctx.Err())
}

Бул мисалда, эгер операция 2 секунддон ашса, контекст жокко чыгарылат жана убакыт чектөө иштетилиши мүмкүн. Бул функциялардын, суроолордун иштөө убактысын чектөө үчүн пайдалуу.