¿Cuál es la diferencia entre una corrutina y un hilo?
¿Cuál es la diferencia entre una corrutina y un hilo?

Video: ¿Cuál es la diferencia entre una corrutina y un hilo?

Video: ¿Cuál es la diferencia entre una corrutina y un hilo?
Video: Procesos e Hilos ¿Cuál es la diferencia? ¿Porqué es importante comprenderlos? 2024, Mayo
Anonim

Uno importante diferencia entre hilos y corrutinas es eso hilos normalmente se programan de forma preventiva mientras corrutinas no son. Porque hilos se puede reprogramar en cualquier instante y se pueden ejecutar simultáneamente, programas que utilizan hilos debe tener cuidado con el bloqueo.

De esta manera, ¿qué son las corrutinas? ¿Se ejecuta en un hilo diferente?

Corutinas no tengo nada que hacer con Hilos . Coroutine métodos pueden ser ejecutado pieza por pieza a lo largo del tiempo, pero todos los procesos todavía se realizan por un solo principal Hilo . Si tiene más de una CPU lógica, muchos hilos se ejecutan en diferente CPU.

Además, ¿qué es el hilo en la programación? A hilo en informática es la abreviatura de hilo de ejecución. Hilos son una forma de programa para dividirse (denominado "dividir") en dos o más tareas en ejecución simultáneamente (o pseudo-simultáneamente).

También hay que saber, ¿qué es Coroutine? ¿Se está ejecutando en un nuevo hilo?

¿Qué pasa con un corrutina es que es correr en lo principal hilo cada fotograma y se ejecuta hasta que produce un rendimiento, luego se suspenderá hasta que se cumpla la condición de rendimiento. A hilo efectivamente carreras al mismo tiempo que otro código (esto solo es cierto cuando tiene varios núcleos).

¿Cuándo debo usar runBlocking?

En realidad tu usar runBlocking para llamar a funciones de suspensión en el código de "bloqueo" que de otra manera no sería invocable allí o en otras palabras: usar para llamar a las funciones de suspensión fuera del contexto de la corrutina (en su ejemplo, el bloque pasado a async es la función de suspensión).

Recomendado: