Perguntas com a marcação «volatile»

Volátil é um qualificador usado para definir uma área de armazenamento de dados (objeto, campo, variável, parâmetro) que "pode ​​mudar por conta própria", não permitindo assim algumas otimizações do gerador de código. Em alguns, mas não em todos os idiomas que reconhecem esse qualificador, o acesso a tais dados é seguro para threads.

22
Qual é a palavra-chave volátil útil para
No trabalho hoje, me deparei com a volatilepalavra - chave em Java. Não estando muito familiarizado, encontrei esta explicação: Teoria e prática Java: Gerenciando a volatilidade Dado o detalhe em que esse artigo explica a palavra-chave em questão, você a usa ou vê um caso em que pode usá-la da …

9
Volátil vs. Intertravado vs. Bloqueio
Digamos que uma classe tenha um public int countercampo que seja acessado por vários threads. Isso inté apenas incrementado ou decrementado. Para incrementar esse campo, qual abordagem deve ser usada e por quê? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Mude o modificador de acesso de counterpara public volatile. Agora que descobri volatile, …


7
Qual é a diferença entre atômico / volátil / sincronizado?
Como atômico / volátil / sincronizado funciona internamente? Qual é a diferença entre os seguintes blocos de código? Código 1 private int counter; public int getNextUniqueIndex() { return counter++; } Código 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Código 3 private volatile int counter; public int …

8
Volátil vs Estático em Java
É correto dizer que staticsignifica uma cópia do valor para todos os objetos e volatilesignifica uma cópia do valor para todos os segmentos? De qualquer forma, um staticvalor variável também será um valor para todos os encadeamentos, então por que devemos procurar volatile?


4
Diferença entre volátil e sincronizado em Java
Gostaria de saber a diferença entre declarar uma variável como volatilee sempre acessar a variável em umsynchronized(this) bloco em Java? De acordo com este artigo http://www.javamex.com/tutorials/synchronization_volatile.shtml, há muito a ser dito e há muitas diferenças, mas também algumas semelhanças. Estou particularmente interessado nesta informação: ... o acesso a uma variável …



8
Para que é usada a palavra-chave "volátil"?
Para obter mais informações sobre o Stack Overflow no Stack Overflow em Inglês, consulte : Volátil no Java Li alguns artigos sobre a volatilepalavra - chave, mas não consegui descobrir seu uso correto. Você poderia me dizer o que deve ser usado em C # e em Java?
130 c#  java  volatile 

5
Quando usar o volátil com o multi threading?
Se houver dois threads acessando uma variável global, muitos tutoriais dizem tornar a variável volátil para impedir que o compilador armazene em cache a variável em um registro e, portanto, não seja atualizado corretamente. No entanto, dois threads que acessam uma variável compartilhada são algo que exige proteção através de …

4
O volátil é caro?
Depois de ler The JSR-133 Cookbook for Compiler Writers sobre a implementação de volátil, especialmente a seção "Interações com instruções atômicas", presumo que ler uma variável volátil sem atualizá-la precisa de um LoadLoad ou uma barreira LoadStore. Mais abaixo na página, vejo que LoadLoad e LoadStore são efetivamente autônomos em …

6
Ilustrando o uso da palavra-chave volátil em C #
Eu gostaria de codificar um pequeno programa que ilustra visualmente o comportamento da volatilepalavra - chave. Idealmente, deve ser um programa que executa acesso simultâneo a um campo estático não volátil e que obtém um comportamento incorreto por causa disso. Adicionar a palavra-chave volátil no mesmo programa deve resolver o …
88 c#  .net  volatile 

6
volátil vs. mutável em C ++
Tenho uma pergunta sobre a diferença entre volátil e mutável. Percebi que os dois significam que ele pode ser alterado. O quê mais? Eles são a mesma coisa? Qual é a diferença? Onde eles são aplicáveis? Por que as duas idéias são propostas? Como usá-los de maneira diferente? Muito obrigado.
86 c++  volatile  mutable 


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.