Resultados da pesquisa a pedido "memory-barriers"
É possível que uma loja com memory_order_relaxed nunca alcance outros threads?
Suponha que eu tenha um tópicoAque escreve para umatomic_int x = 0;, usandox.store(1, std::memory_order_relaxed);. Sem outros métodos de sincronização, quanto tempo levaria até que outros threads pudessem ver ...
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 ...
Como escrevo uma barreira de memória para um DSP TMS320F2812?
Eu examinei o guia do usuário do compilador TI C / C ++ v6.1 (spru514e) mas não encontrou nada.o
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 ...
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 ...
asio cadeia implícita e sincronização de dados
Quando eu leio o código-fonte asio, estou curioso sobre como asio fazendo dados sincronizados entre threads até mesmo uma vertente implícita foi feita. Estes...
Compilador reordenando em torno de limites mutex?
Suponha que eu tenha minhas próprias funções não embutidas LockMutex e UnlockMutex, que estão usando algum mutex adequado - como impulso - por dentro. Como o compilador saberá não reordenar outras operações com relação às chamadas para o ...
Barreira de memória pela instrução lock
Li recentemente sobre barreiras de memória e a questão da reordenação e agora tenho alguma confusão sobre isso. Considere o seguinte cenário: private object _object1 = null; private object _object2 = null; private bool _usingObject1 = false; ...
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 ...
Por que o padrão de chamada de evento C # padrão é seguro para threads sem uma barreira de memória ou invalidação de cache? E o código semelhante?
Em C #, este é o código padrão para chamar um evento de maneira segura para threads: var handler = SomethingHappened; if(handler != null) handler(this, e);Onde, potencialmente em outro encadeamento, o método add gerado pelo ...