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 44 45 46 47 48 49 |
import kotlin.concurrent.thread import kotlin.random.Random class TortugaThread : Thread() { override fun run() { var i = 0 println("Comienza la Tortuga.") while (i < 5) { try { Thread.sleep(500) println("Tortuga.") } catch (ex: InterruptedException) { ex.printStackTrace() } i++ } println("Termina la Tortuga.") } } class LiebreThread : Thread() { override fun run() { var i = 0 println("Comienza la Liebre.") while (i < 5) { try { Thread.sleep(200) println("Liebre.") } catch (ex: InterruptedException) { ex.printStackTrace() } i++ } println("Termina la Liebre.") } } fun main() { val tortuga = TortugaThread() val liebre = LiebreThread() tortuga.start() liebre.start() tortuga.join() liebre.join() println("Carrera terminada.") } |