[SC] Sendable
¿Qué diferencia hay entre pasar valores entre hilos en GCD versus en Swift Concurrency? Igual que en GCD, en Swift Concurrency (SC) va a ser necesario pasar un dato de un hilo a otro. Sin embargo, ...
![[SC] Sendable](https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxdnkmx4xx9fyro70ymz.png)
Source: DEV Community
¿Qué diferencia hay entre pasar valores entre hilos en GCD versus en Swift Concurrency? Igual que en GCD, en Swift Concurrency (SC) va a ser necesario pasar un dato de un hilo a otro. Sin embargo, en SC no se trabaja con hilos sino con "Dominios de Aislamiento" (del inglés "isolation domains"). Al pasar un dato de una función async a otra, se podría estar transfiriendo información entre dos dominios de aislamiento, para lo cual, SC necesita que el dato sea de tipo Sendable para garantizar que sea "thread-safe". ¿Por qué el compilador necesita saber si un valor es thread-safe? ¿Qué es un isolation domain y para qué sirve? Un Dominio de Aislamiento ("Isolation Domain") define una frontera en la que se puede acceder a un valor o referencia sin el riesgo de tener una carrera de datos. Hay tres tipos de dominio: nonisolated. actor. Global-actor. ¿Qué restricciones tiene el código nonisolated respecto al estado de otros dominios? nonisolated es el "Dominio de Aislamiento" por defecto que no