Sobes.tech
Junior — Middle

Тавзеҳ диҳед, ки чӣ гуна аст, ки онро Unconfined менежер меноманд ва чӣ гуна кор мекунад.

sobes.tech AI

Ҷавоб аз AI

Dispatcher-и беғаразории дар Kotlin Coroutines навъи dispatcher аст, ки coroutine-ро ба ягон сӯронаи муайян бастан намекунад. Вақте ки coroutine оғоз мешавад, он дар сӯронаи ҳозира оғоз мекунад, аммо ҳангоми боздошт ва такрор метавонад дар сӯронаи дигар идома ёбад.

Ин барои баъзе ҳолатҳо, ки назорати қатъии сӯрона талаб намешавад, муфид аст, масалан барои вазифаҳои сабук ё дар вақти санҷиш. Аммо истифодаи dispatcher-и бе маҳдудият эҳтиёткориро талаб мекунад, зеро он тартиби иҷроиш дар як сӯронаи ягонаро кафолат намедиҳад, ки метавонад ба мушкилоти бехатарии сӯронаҳо оварда расонад.

Маслиҳат барои истифода:

launch(Dispatchers.Unconfined) {
    println("Дар сӯрона кор мекунад: ${Thread.currentThread().name}")
    delay(100)
    println("Дар сӯронаи дигар такрор мешавад: ${Thread.currentThread().name}")
}

Дар ин мисол, coroutine метавонад дар як сӯрона оғоз шавад ва пас аз таъхир дар сӯронаи дигар идома ёбад.