Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

179
Vistas
Kotlin corrutinas GlobalScope.launch vs runBlocking

¿Hay alguna diferencia entre estos dos enfoques?

 runBlocking { launch(coroutineDispatcher) { // job } }
 GlobalScope.launch(coroutineDispatcher) { // job }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

runBlocking ejecuta una nueva rutina y bloquea el subproceso actual de forma interrumpible hasta su finalización. Esta función no debe usarse desde coroutine. Está diseñado para unir el código de bloqueo regular con las bibliotecas que están escritas en estilo de suspensión, para usarse en las funciones principales y en las pruebas.

 // line 1 runBlocking { // line 2 launch(coroutineDispatcher) { // line 3 } // line 4 } // line 5 someFunction()

En caso de usar runBlocking , las líneas de código se ejecutarán en el siguiente orden:

 line 1 line 2 line 4 line 3 line 5 // this line will be executed after coroutine is finished

El alcance global se utiliza para lanzar corrutinas de nivel superior que funcionan durante toda la vida útil de la aplicación y no se cancelan prematuramente. Otro uso del alcance global son los operadores que se ejecutan en Dispatchers.Unconfined, que no tienen ningún trabajo asociado. El código de la aplicación generalmente debe usar CoroutineScope definido por la aplicación; se desaconseja enfáticamente usar async o iniciar en la instancia de GlobalScope.

 // line 1 GlobalScope.launch(coroutineDispatcher) { // line 2 } // line 3 someFunction()

En caso de utilizar GlobalScope.launch , las líneas de código se ejecutarán en el siguiente orden:

 line 1 line 3 line 2

Por lo tanto, runBlocking bloquea el subproceso actual hasta su finalización, GlobalScope.launch no lo hace.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda