¿Tener 2 hilos diferentes:
seguridad de rosca en arrays de C#
- una lectura de un C# array (por ejemplo, de primera ubicación),
- y otro escrito a la misma C# matriz, pero a una ubicación diferente (por ejemplo, a la última ubicación)
¿es seguro o no?
(Y me refiero aquí sin bloqueo lectura o escritura)
Siempre y cuando esos elementos estén en palabras separadas de la CPU – Stewart
+1 Nunca pensé que esto sería inseguro, pero entiendo por qué lo es. ¡Gracias! –
Es importante tener en cuenta cuando se usan algoritmos sin bloqueo que lo que usted considera como "la misma posición" no es lo mismo que lo que las CPU piensan como la misma posición. La vista de CPU de la memoria es muy diferente de la vista, los lenguajes como C nos dan los bytes que ocupan las direcciones. En algunas arquitecturas de CPU (especialmente ARM, Power) en algunos tipos de datos, incluso esto puede no ser seguro – Stewart