Resultados de la búsqueda a petición "memory-barriers"
¿Funciona mutex_unlock como una valla de memoria?
La situación que describiré se está produciendo en un iPad 4 (ARMv7s), utilizando libs de posix para bloquear / desbloquear mutex. Sin embargo, he visto cosa...
¿Es std :: mutex secuencialmente consistente?
Digamos que tengo dos hilosA yB escribir en una variable booleana globalfA yfB respectivamente, que inicialmente se establecen enfalse y están protegidos porstd::mutex objetosmA ymB respectivamente: // Thread A mA.lock(); assert( fA == false ); ...
¿Por qué se puede implementar MemoryBarrier como una llamada a xchg?
en msdnhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms684208(v=vs.85).aspx, MemoryBarrier se implementa como una llamada a xchg.
Cómo funciona std :: memory_order_seq_cst
Tomé el ejemplo sobre std :: memory_order_seq_cst de: http://en.cppreference.com/w/cpp/atomic/memory_order [http://en.cppreference.com/w/cpp/atomic/memory_order] #include <thread> #include <atomic> #include <cassert> std::atomic<bool> x ...
Adquirir / liberar semántica con 4 hilos
Actualmente estoy leyendo C ++ Concurrency in Action de Anthony Williams. Uno de sus listados muestra este código, y afirma que la afirmación de quez != 0 puede disparar #include <atomic> #include <thread> #include <assert.h> std::atomic<bool> ...
Análisis de la salida x86 generada por JIT en el contexto de volátiles
Estoy escribiendo esta publicación en relación conProfundo conocimiento de volátiles en Java [https://stackoverflow.com/questions/45133832/deep-understanding-of-volatile-in-java] public class Main { private int x; private volatile int g; public ...
La barrera de la memoria actúa como marcador y como instrucción?
He leído diferentes cosas sobre cómo funciona una barrera de memoria. Por ejemplo, el usuario Johana respuesta de @ enesta ...
Se requiere una barrera de memoria si un segundo subproceso espera la finalización del primero?
Supongamos que el hiloAlpha está escribiendo en la variableA sin bloqueo. Un segundo hiloBeta Esta esperando porAlpha para terminar, luego lee la variableA en turno ¿Es posible que los contenidos deA no será fresco? ¿Se pueden retrasar ...
Atomicidad en x86
8.1.2 Bloqueo de busLos procesadores Intel 64 e IA-32 proporcionan una señal LOCK # que se activa automáticamente durante ciertas operaciones críticas de memoria para bloquear el bus del sistema o un enlace equivalente. Mientras se afirma esta ...
GCC reordenando a través de la carga con `memory_order_seq_cst`. ¿Esto está permitido?
Usando una versión simplificada de un básicoseqlock [https://en.wikipedia.org/wiki/Seqlock], gcc reordena una carga no atómica a través de un atómicoload(memory_order_seq_cst) al compilar el código con-O3. Este reordenamiento no se observa al ...