Middle
Чӣ гуна метавон бо бисёрсоҳавӣ дар Kotlin кор кард?
sobes.tech AI
Ҷавоб аз AI
Дароии бисёрсоҳавии дар Kotlin метавонад бо чанд роҳ амалӣ карда шавад, ҳар кадоме аз онҳо дар асоси вазифаҳои муайян манфиатҳояшонро доранд:
-
Тонҳои классикии JVM (
java.lang.Thread):
API-и Java-ро мустақиман истифода мебарем.// Эҷод ва оғоз кардани як тон нав Thread { // Код, ки дар як тон алоҳида иҷро мешавад println("Салом аз тон!") }.start() -
Иҷрокунандагон (
java.util.concurrentпакет):
идоракунии чандиронаи пулҳои тонҳоро таъмин мекунад.// Истифодаи пули тонҳои доимӣ import java.util.concurrent.Executors val executor = Executors.newFixedThreadPool(4) executor.submit { // Вазифа барои иҷро дар пул println("Вазифа дар пул иҷро мешавад") } // Фаромӯш накунед, ки пулро ба охир расонед // executor.shutdown() -
Корутиниҳо (Kotlin Coroutines):
Тонҳои сабук, ки бо рамка идора карда мешаванд, ва иҷрои асинхронӣ ва беихтиёрро таъмин мекунанд. Онҳо дар рушди муосири Android афзалият доранд.// Илова кардани вобастагиҳо kotlinx-coroutines-core ва kotlinx-coroutines-android import kotlinx.coroutines.* // Иҷрои корутин дар доираи ҷаҳонӣ GlobalScope.launch { delay(1000L) // Тафсири беихтиёр println("Салом аз корутин!") } // Мисол барои истифода дар ViewModel (барои Android) /* import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope class MyViewModel : ViewModel() { fun doSomethingAsync() { viewModelScope.launch { // Код, ки дар доираи ViewModel кор мекунад, // автоматӣ бекор мешавад, вақте ViewModel тоза мешавад } } } */
Мувофиқсозии роҳҳо:
| Роҳ | Идоракунӣ | Сабукӣ | Ҳал кардани хатоҳо | Бекориш | Суръатнокии истифода (барои вазифаҳои оддӣ) |
|---|---|---|---|---|---|
java.lang.Thread |
Дастӣ (эҷод, оғоз, идоракунӣ) | Вазнин | Дастӣ | Дастӣ | Миёна |
java.util.concurrent |
Бо API-и иҷрокунандагон | Вазнин | Бо API | Бо API | Миёна |
| Корутиниҳо (Kotlin Coroutines) | Рамка (гурӯҳҳо, контекстҳо, диспетчерҳо) | Сабук | Сохторӣ | Дарунӣ | Паст (барои вазифаҳои оддӣ) |
Корутиниҳо самараноктарин ва қулайтарин роҳ барои кор бо коди асинхронӣ дар Android мебошанд, ки мушкилоти идоракунии давраи ҳаёт ва бекор кардани вазифаҳоро кам мекунанд.