Preguntas
¿Qué es un actor en Swift Concurrency y en qué se diferencia de una clase?
- Un
actores un tipo de dato por referencia, parecido a unclass. -
actorno puede heredar de otros tipos de datos, a excepción deNSObject. -
actorgarantiza acceso serializado a los datos que encapsula. - No se puede modificar directamente los datos de
actor, sino que se debe hacer a través de métodos, que deben ser invocados conawait. - Se puede leer los datos del
actorde forma asíncrona, conawait.
¿Qué garantía fundamental ofrece el aislamiento de actores (actor isolation)?
- Solo una tarea puede acceder a los datos de forma simultánea.
¿Por qué no puedes mutar directamente una propiedad de un actor desde fuera de él, aunque no sea private?
- La mutación debe pasar por el executor del actor para que este la serialice.
¿Qué es un executor y cuál es su función dentro de un actor?
- Un executor es una especie de cola serial que gestiona el acceso al dominio de aislamiento del actor.
¿En qué se diferencia el executor de un actor de una DispatchQueue serial?
-
DispatchQueueserial bloquea el hilo, mientras que elactores reentrante, dado que su executor puede ejecutar otras tareas cuando se encuentra conawait.
¿Por qué siempre debes usar await para acceder a propiedades o métodos de un actor?
- Puede ser que otra tarea esté modificando o leyendo una propiedad del actor, así que hay que esperar hasta poder acceder a ella.
¿Cuál es la diferencia entre leer y mutar una propiedad de un actor desde fuera?
- Se puede leer con
awaitpero no se puede mutar desde fuera.
¿Por qué los actores no soportan herencia y qué implica eso en la práctica?
- La responsabilidad del
actores aislar el acceso a los datos, así que no hay que usaropen,finaluoverride. - En la práctica implica que hay que usar composición sobre herencia.
¿Cuál es la única excepción a la regla de no herencia en actores, y para qué sirve?
- Un actor puede heredar de
NSObjecty sirve para interoperabilidad con ObjC.
¿Qué analogía usa el artículo para describir el acceso a un actor y por qué es adecuada?
- Un
actores como un semáforo: Si de entrada está en verde, puedo pasar. Si está en rojo, debo esperar. - Esto es esencialmente lo que pasa conawait.
Recitar
Sin mirar el artículo, responde con tus propias palabras:
Top comments (0)