Lar Desenvolvimento O que é volátil? - o que é techopedia

O que é volátil? - o que é techopedia

Índice:

Anonim

Definição - O que significa Volatile?

Volátil é uma palavra-chave na linguagem de programação java que especifica que uma variável de membro associada a uma classe pode ser alterada de forma assíncrona por vários encadeamentos. A palavra-chave volátil no código atua como um modificador quando um membro é declarado. Palavras-chave são palavras reservadas fundamentalmente com um significado distinto no contexto de um compilador.

A palavra-chave volátil é usada sempre que a variável significa algum tipo de variável dependente do ambiente ou sistema, como contadores e relógios simples.

Techopedia explica Volatile

A palavra-chave volátil garante que cada acesso de leitura a uma variável de membro retorne o valor mais recente dela. Isso não é eficaz quando as alterações recentes são feitas usando um thread diferente. Se uma variável de membro não for declarada como volátil, um encadeamento não poderá reconhecer as modificações feitas usando um encadeamento diferente.

Para um membro duplo ou longo, a palavra-chave volátil também garante que a máquina virtual não gere duas gravações sucessivas de 32 bits, mas criará apenas uma gravação de 64 bits. Se isso não for viável, a implementação da JVM continuará a garantir a atomicidade dessa função para que a metade inferior antiga não seja lida com a nova metade superior de algum dobro ou comprimento volátil.

As gravações e leituras voláteis estabelecem um relacionamento de antes do acontecido. Antes de um objeto volátil ser acessado, ocorre uma sincronização entre a memória principal e as variáveis ​​em cache, exatamente como ocorre antes da entrada ou após a saída de um bloco sincronizado. Isso implica que um objeto volátil pode ser publicado com segurança sem sincronização; isto é, quando um objeto volátil é acessado por um encadeamento, os membros desse objeto também são atualizados.

Quando uma variável é descrita como volátil, o compilador JVM e Java executa as duas coisas a seguir.

  1. O compilador falha ao maximizar as instruções e expressões relacionadas a essa variável.
  2. A JVM sincroniza a variável.

As vantagens do volátil são as seguintes:

  • É leve
  • Isso causa uma sobrecarga muito pequena para as leituras e gravações, mas ainda é mais rápido que o bloqueio.
  • Volátil é resistente a bloqueios mortos.
O que é volátil? - o que é techopedia