Estoy en proceso de convertir una aplicación existente de Java a Kotlin. La aplicación crea un IntentService que se ejecuta en un subproceso en segundo plano y tiene la tarea de realizar algunas operaciones que bloquean el subproceso (por ejemplo, llamadas de red, interacciones con la base de datos) con funciones de suspend de forma repetida e indefinida. Dado que el "subproceso actual" es de hecho un subproceso de fondo, no estoy bloqueando la interfaz de usuario.
¿Es una buena práctica utilizar runBlocking en el subproceso actual para ejecutar todas las funciones de suspensión? ¿O hay un mejor enfoque?
Ese es exactamente el uso de runBlocking . runBlocking se agregó a las rutinas para crear un puente entre los usuarios de las coroutines y otros lugares que ejecutan el código de forma bloqueada. Si desea bloquear un hilo y esperar la ejecución de una rutina, siempre debe usar runBlocking .