Cuando una aplicación de iOS pasa a segundo plano, ¿se pausan las tareas largas?

Sí, sé que si deseo que mi aplicación responda a las acciones multitarea de los usuarios, como cambiar a otra aplicación, debería tratar con

- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application

¿Qué sucede si mi aplicación está llevando a cabo una operación que consume mucho tiempo (como descargar un archivo grande) y el usuario hace que mi aplicación ingrese al fondo? ¿Se suspenderá y reanudará automáticamente esa operación cuando el usuario vuelva a mi aplicación?

¿Qué sucederá exactamente detrás de escena cuando mi aplicación entre en el fondo o se reanude en primer plano?

¿Qué pasa si cuando los usuarios dejan que mi aplicación pase al segundo plano, la ejecución de mi aplicación está en medio de un método?

Por ejemplo, mi aplicación está haciendo

for (int i = 1 to 10000K) {
    do some calculation;
}

Cuando i == 500K, el usuario cambia a otra aplicación. ¿Qué sucede con el bucle for en mi aplicación?

Respuestas a la pregunta(2)

Su respuesta a la pregunta