Articles of volátil

Quando é preferível usar o booleano volátil em Java em vez do AtomicBoolean?

Eu olhei para as outras questões voláteis vs. Atomicxxxx em SO (incluindo esta ) e li a descrição de java.util.current.atomic , e não estou muito satisfeito com as nuances. Se eu estou tentando decidir entre usar volatile boolean e AtomicBoolean , existem diferenças práticas além das operações atômicas de leitura-modificação-gravação oferecidas pelo AtomicBoolean? (por exemplo, […]

Semântica detalhada de volátil quanto à tempestividade da visibilidade

Considere um volatile int sharedVar . Sabemos que o JLS nos dá as seguintes garantias: cada ação de um encadeamento de escrita w precede sua gravação de valor i para sharedVar na ordem do programa happens-before da ação de gravação; a gravação do valor i por w happens-before da leitura bem happens-before sucedida de i […]

Trabalhando de __asm__ __volatile__ (“”::: “memory”)

O que basicamente __asm__ __volatile__ () faz e qual é a importância da “memory” para a arquitetura ARM?

Por que o qualificador volátil é usado por std :: atomic?

Pelo que li de Herb Sutter e outros, você pensaria que a programação volatile e concorrente eram conceitos completamente ortogonais, pelo menos no que diz respeito ao C / C ++. No entanto, na implementação do GCC, todas as funções-membro do std::atomic possuem o qualificador volatile . O mesmo é verdade na implementação de Anthony […]

Por que o std :: cout converte pointers voláteis para bool?

Se você tentar citar um ponteiro para um tipo volátil, até mesmo um ponteiro de caractere volátil onde você normalmente esperaria imprimir a string, você simplesmente obterá ‘1’ (assumindo que o ponteiro não é nulo, eu acho). Eu suponho operador de stream de saída << é modelo especializado para ponteiros voláteis, mas minha pergunta é, […]

As ‘leituras’ variables ​​variables ​​são tão rápidas quanto as leituras normais?

Eu sei que escrever para uma variável volatile libera da memory de todos os cpus, no entanto, eu quero saber se as leituras para uma variável volátil são tão rápidas quanto as leituras normais? Variáveis volatile podem ser colocadas no cache da cpu ou são sempre buscadas na memory principal?

Garantias voláteis e execução fora de ordem

IMPORTANTE EDIT Eu sei sobre o “acontece antes” no segmento onde as duas atribuições estão acontecendo a minha pergunta é que seria possível para outro segmento estar lendo “b” não-nulo enquanto “a” ainda é nulo. Então, eu sei que se você está chamando doIt () do mesmo thread daquele em que você chamava setBothNonNull (…), […]

Qual é a palavra-chave “volátil” usada?

Eu li alguns artigos sobre a palavra-chave volatile mas não consegui descobrir seu uso correto. Você poderia por favor me dizer o que deve ser usado em C # e em Java?

Exemplo mais simples e compreensível de palavra-chave volátil em java

Estou lendo sobre a palavra-chave volátil em Java e entendo completamente a parte teórica dela. Mas, o que estou procurando é, um bom exemplo de caso, que mostra o que aconteceria se a variável não fosse volátil e se fosse. Abaixo do trecho de código não funciona como esperado ( do aioobe ) class Test […]

Volátil Vs Atomic

Eu li em algum lugar abaixo da linha. Java palavra-chave volátil não significa atômica, seu equívoco comum que depois de declarar volátil, ++ operação será atômica, para tornar a operação atômica você ainda precisa garantir o access exclusivo usando o método synchronized ou bloquear em Java. Então, o que acontecerá se dois threads atacarem uma […]