1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import java.util.concurrent.Executors fun main() { println("Ejemplo de uso de ExecutorService en Kotlin") // Crear un ExecutorService con un número fijo de hilos val numHilos = 3 val executorService = Executors.newFixedThreadPool(numHilos) // Definir una lista de tareas que se ejecutarán en paralelo val tareas = listOf( Tarea("Tarea 1"), Tarea("Tarea 2"), Tarea("Tarea 3"), Tarea("Tarea 4"), Tarea("Tarea 5") ) // Ejecutar las tareas en los hilos del ExecutorService for (tarea in tareas) { executorService.execute(tarea) } // Importante: detener el ExecutorService cuando ya no sea necesario executorService.shutdown() } // Clase que representa una tarea class Tarea(private val nombre: String) : Runnable { override fun run() { println("Iniciando $nombre en el hilo actual.") // Simular alguna operación en la tarea for (i in 1..3) { println("$nombre - Paso $i") try { Thread.sleep(1000) // Simular un trabajo de 1 segundo } catch (e: InterruptedException) { Thread.currentThread().interrupt() } } println("Finalizando $nombre.") } } |
Este es un ejemplo de cómo utilizar ExecutorService en Kotlin para ejecutar múltiples tareas en paralelo con un número fijo de hilos. Se crean cinco tareas, y cada una de ellas realiza una operación con un retardo simulado.