Capítulo 6. Concurrencia estructurada

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El término concurrencia se refiere a la capacidad de un programa informático para hacer más de una cosa al mismo tiempo. Cuando programas para iOS, el tiempo de ejecución utiliza la concurrencia constantemente; si no lo hiciera, tu aplicación respondería menos al usuario, quizás no respondería en absoluto.

En su mayor parte, los distintos marcos Cocoa utilizan la concurrencia entre bastidores en tu nombre; no tienes que preocuparte de la concurrencia porque los marcos se preocupan de ella por ti.

Por ejemplo, supongamos que tu aplicación está descargando algo de la red. Esta descarga no se produce por sí sola; en algún lugar, alguien está ejecutando código que interactúa con la red y obtiene datos. Sin embargo, nada de eso interfiere con tu código, ni impide al usuario tocar y deslizar cosas en tu interfaz. El código de red se ejecuta "en segundo plano". Eso es concurrencia en acción.

Sin embargo, a veces necesitas preocuparte explícitamente por la concurrencia. Por ejemplo:

Recibir una comunicación del código de fondo

Supongamos que tu aplicación te ha pedido que descargues algo de la red. Presumiblemente, es porque quieres esa cosa. Si estás descargando una imagen, el objetivo podría ser mostrar esa imagen en tu interfaz, o almacenarla como un archivo guardado en el disco. El tiempo de ejecución, en código que no puedes ...

Get Fundamentos de programación de iOS 15 con Swift now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.