Comprehensive Rust(Español) 202412
SAFETY: There are no other threads which could be accessing `COUNTER`. unsafe { COUNTER += inc; } } fn main() { add_to_counter(42); // SAFETY: There are no other threads which could be accessing `COUNTER` compartido 30 minutos Ejercicios 1 hora y 10 minutos • Rust lets us access OS concurrency toolkit: threads, sync. primitives, etc. • The type system gives us safety for concurrency without any special features that main and spawned threads stay mostly in lockstep. – Notice that the program ends before the spawned thread reaches 10! – This is because main ends the program and spawned threads do not make it persist0 码力 | 389 页 | 1.04 MB | 10 月前3Guía Práctica de RISC-V: El Atlas de una Arquitectura Abierta Primera Edición, 1.0.5
debugging. La instrucción f e n c e coordina accesos a dispositivos de I/O y memoria vistos desde otros threads y dispositivos externos o coprocesadores. La instrucción f e n c e . i sincroniza el flujo de instrucciones consistencia de memoria RISC-V usa un modelo de consistencia de memoria relajado, por lo que otros threads pueden ver algunos accesos a memoria fuera de orden. La Figura 6.2 muestra que todas las instruc- atómica con el bit a q en 1 garantiza que otros threads verán las AMO en-orden con accesos a memoria posteriores. Si el bit r l es 1, los demás threads verán la operación atómica en-orden con ac- cesos0 码力 | 217 页 | 29.97 MB | 1 年前3
共 2 条
- 1