Sobes.tech
Junior — Middle

Kaip įgyvendinti siūlų baseiną jūsų programėlėje užduotims vykdyti?

sobes.tech AI

Atsakymas iš AI

Norint įgyvendinti siūlų baseiną Android programoje, galite naudoti ThreadPoolExecutor klasę iš Java arba Kotlin.

Pavyzdys Kotlin kalba naudojant Executors.newFixedThreadPool:

import java.util.concurrent.Executors

// Sukuriame 4 siūlų baseiną
val threadPool = Executors.newFixedThreadPool(4)

// Siūlų siuntimas vykdymui
threadPool.execute {
    // Užduoties 1 kodas
    println("Užduotis 1 vykdoma siūle ${Thread.currentThread().name}")
}

threadPool.execute {
    // Užduoties 2 kodas
    println("Užduotis 2 vykdoma siūle ${Thread.currentThread().name}")
}

// Po darbo pabaigos baseiną reikia tinkamai uždaryti
threadPool.shutdown()

Jei naudojate Kotlin Coroutines, galite naudoti Dispatchers.IO arba sukurti savo siūlų baseiną su newFixedThreadPoolContext.

Siūlų baseinas leidžia apriboti vienu metu veikiančių siūlų skaičių, kas padeda efektyviai naudoti išteklius ir išvengti per didelio siūlų skaičiaus kūrimo.