Resultados da pesquisa a pedido "memory-barriers"

1 a resposta

O modelo de memória Intel torna o SFENCE e o LFENCE redundantes?

O modelo de memória Intel garante: As lojas não serão reordenadas com outras lojasAs cargas não serão reordenadas com outras ...

3 a resposta

A barreira da memória ou a operação atômica são necessárias em um loop de espera ocupada?

Considere o seguintespin_lock() implementação, originalmente deesta resposta [https://stackoverflow.com/a/32658335/3169754]: void spin_lock(volatile bool* lock) { for (;;) { // inserts an acquire memory barrier and a compiler barrier if ...

2 a resposta

Por que preciso de uma barreira de memória?

O C # 4 em poucas palavras (btw altamente recomendado) usa o código a seguir para demonstrar o conceito de MemoryBarrier (supondo que A e B foram executados em threads diferentes): class Foo{ int _answer; bool complete; void A(){ _answer = ...

2 a resposta

GCC reordenando a carga com `memory_order_seq_cst`. Isso é permitido?

Usando uma versão simplificada de umseqlock [https://en.wikipedia.org/wiki/Seqlock], o gcc reordena uma carga não atômica através de um atômicoload(memory_order_seq_cst) ao compilar o código com-O3. Essa reordenação não é observada ao compilar ...

1 a resposta

Fazendo sentido das barreiras à memória

Estou tentando entender as barreiras de memória em um nível útil para programadores sem bloqueio de java.Este nível, eu sinto, está entre aprender apenas sobre voláteis e aprender sobre o trabalho de buffers de armazenamento / carga em um manual ...

3 a resposta

Geradores de barreira de memória

Leitura Tutorial de threading de Joseph Albahari [http://www.albahari.com/threading/part4.aspx], os seguintes são mencionados como geradores de barreiras de memória: C # 'lock declaração Monitor.Enter/Monitor.Exit)odos os métodos ...

5 a resposta

Threads sincronização. Como exatamente o bloqueio torna o acesso à memória 'correto'?

Primeiro de tudo, eu sei quelock{} é açúcar sintético paraMonitor classe. (oh, syntactic açúcar Eu estava brincando com problemas simples de multithreading e descobri que não consigo entender totalmente como bloquear alguma PALAVRA arbitrária ...

5 a resposta

Este é um uso correto de Thread.MemoryBarrier ()?

Suponha que eu tenho um campo que controla a execução de algum loop: private static bool shouldRun = true;E eu tenho um thread em execução, que tem código como: while(shouldRun) { // Do some work .... Thread.MemoryBarrier(); }Agora, ...

2 a resposta

Barreiras de memória C ++ para Atomics

Eu sou um novato quando se trata disso. Alguém poderia fornecer uma explicação simplificada das diferenças entre as seguintes barreiras de memória? As janelasMemoryBarrier();A cerca_mm_mfence(); A montagem em linhaasm volatile ("" : : : ...

6 a resposta

É necessária uma barreira de memória se um segundo thread aguardar o término do primeir

Suponha que o tópicoAlpha está gravando na variávelA sem travar. Uma segunda discussãoBeta está esperando porAlpha para terminar e depois lê a variávelA por sua vez É possível que o conteúdo deA não será fresco? As gravações na memória ...