Articles of concurrency

¿Vale la pena replace Quasar y Comsat con Ktor?

Espero que valga la pena responder esta pregunta y ¡bien preguntado! Tengo un par de proyectos usando Ktor. He estudiado sobre Quasar y sé que tiene Comsat para backends web. Como sabes, ¡Ktor usa fibra y NIO! Con este aviso, ¿la reescritura de los proyectos con Quasar (Comsat) los hace funcionar mucho (notablemente) mejor que […]

Alternativa de Kotlin al performance de la corotina de Python y enviar

¿Cuál sería una alternativa idiomática de Kotlin al siguiente fragment de coronet de python? def generator(): c = 1 while True: op = yield c if op == 'inc': c += 1 elif op == 'mult': c *= 2 # main g = generator() a = g.send(None) # start b = g.send('inc') c = g.send('mult') […]

Kotlin sincronizado

Estuve estudiando multi hilo de Java en las últimas semanas. Aprendí acerca de synchronization, y entendí que sincronizados evitaba que varios hilos accedieran a la misma propiedad al mismo time. Escribí este código para ejecutar dos hilos en el mismo hilo. val gate = CyclicBarrier(3) val obj = SynchronizedCounter() var nah = object : Thread() […]

Threads unexpectead corriendo en secuencia

Esperaba que la salida fuera 0 0 1 1 2 2 … pero la salida fue 0 1 2 3 … 0 1 2 3 class Runner: Thread() { override fun run() { var i = 0 while (i < 10) { println("${Thread.currentThread().name} $i") i++ } try { Thread.sleep(100) } catch (e: Exception) { e.printStackTrace() […]

¿Puedes usar un object que está sincronizado como un candado

¿Está bien este código, o debería crear un object de locking por separado? Me pregunto si existe la posibilidad de un punto muerto o algo así. Supongo que debería funcionar, ya que el lenguaje lo permite, pero solo para estar seguro de que preferiría entender cómo funciona y por qué está bien o por qué […]

¿Por qué no hay palabras key de concurrency en Kotlin?

Me estoy sumergiendo en este lenguaje increíble, y esta única cosa es frustrante para mí. ¿Por qué no hay palabras key para la synchronization? Hasta ahora, mi investigación ofrece una solución, envuelve algunas classs de alto nivel y las usa para manejar la concurrency … Dado un proyecto en kotlin puro, lo que uno debe […]