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.