[SC] Condición de carrera vs. Carrera de datos
1. ¿De qué trata el artículo en términos generales? "data race", "race condition", el uso de actores para evitar "data race", cómo SC no es capaz de resolver "race condition". 2. ¿Cuáles son los do...
![[SC] Condición de carrera vs. Carrera de datos](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%2Fmegfiyy5wq1h7jhmw2bh.png)
Source: DEV Community
1. ¿De qué trata el artículo en términos generales? "data race", "race condition", el uso de actores para evitar "data race", cómo SC no es capaz de resolver "race condition". 2. ¿Cuáles son los dos conceptos principales que se comparan? carrera de acceso a datos ("data race") vs condición de carrera ("race condition") 3. ¿Qué es exactamente un data race y bajo qué condiciones ocurre? Una carrera de acceso a datos ocurre cuando varios hilos tratan de acceder a una porción de memoria compartida sin la sincronización adecuada, donde al menos uno de ellos provoca una mutación. En el artículo aparece el siguiente ejemplo. Aunque teóricamente entiendo cómo puede fallar, en la práctica no logré obtener una carrera de datos. nonisolated class DataRaceDemonstrator { func demonstrate(_ result: @escaping (Int) -> ()) { var counter = 0 let queue = DispatchQueue.global(qos: .background) for _ in 1...10 { queue.async { // ⚠️ Mutation of captured var 'counter' in // concurrently-executing code co