Resultados da pesquisa a pedido "memory-barriers"

1 a resposta

Quando usar o bloqueio vs MemoryBarrier no .net

1 a resposta

Determinando o local para o uso de barreiras (cercas)

As instruções do x86 lfence / sfence / mfence são usadas para implementar os mecanismos rmb () / wmb () / mb () no kernel do Linux. É fácil entender que eles...

1 a resposta

Std :: mutex é sequencialmente consistente?

Diga, eu tenho dois tópicosA eB gravando em variáveis booleanas globaisfA efB respectivamente, que são inicialmente definidos comofalse e são protegidos porstd::mutex objetosmA emB respectivamente: // Thread A mA.lock(); assert( fA == false ); ...

5 a resposta

Volátil e Thread.MemoryBarrier em C #

Para implementar umcódigo livre de bloqueiopara aplicação multithreading eu useivolatile variáveisTeoricamente: Ovolatile keyword é simplesmente usada para garantir que todos os threads vejam o valor mais atualizado de uma variável volátil; então ...

4 a resposta

Uma barreira à memória é uma instrução que a CPU executa ou é apenas um marcador?

Estou tentando entender exatamente o que é uma barreira de memória. Com base no que sei até agora, uma barreira de memória (por exemplo:mfence) é usado para impedir o reordenamento das instruções de antes para depois e de depois para antes da ...

1 a resposta

Existe uma barreira de memória implícita com o relacionamento sincronizado com no thread :: join?

Eu tenho um código no trabalho que inicia vários threads que realizam algumas operações e, se algum deles falhar, eles definem a variável compartilhada comofalso. O thread principal une todos os threads de trabalho. A simulação disso é mais ...

2 a resposta

Como std :: memory_order_seq_cst funciona

Eu peguei o exemplo sobre std :: memory_order_seq_cst em: 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 ...

1 a resposta

Análise da saída x86 gerada pelo JIT no contexto de volatilidade

Estou escrevendo este post em conexão comProfundo entendimento de volátil em Java [https://stackoverflow.com/questions/45133832/deep-understanding-of-volatile-in-java] public class Main { private int x; private volatile int g; public void ...

4 a resposta

Quando devo usar _mm_sfence _mm_lfence e _mm_mfence

Eu li o "Guia do Intel Optimization Guide para arquitetura Intel". No entanto, ainda não tenho idéia de quando devo usar _mm_sfence() _mm_lfence() _mm_mfence()Alguém poderia explicar quando estes devem ser usados ao escrever código multiencadeado?

2 a resposta

Adquirir / liberar semântica com 4 threads

Atualmente, estou lendo Concorrência em C ++ em Ação por Anthony Williams. Uma de suas listagens mostra esse código e ele afirma que a afirmação de quez != 0 pode disparar. #include <atomic> #include <thread> #include <assert.h> ...