Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JAVA] Atomic e Volatile

    Non so assolutamente la differenza tra queste due parole chiave di Java.

    So solo che una operazione atomica è un'operazione che o viene eseguita o non viene eseguita, cioè non può essere interrotta "durante" la stessa.

    Volatile è una parola chiave posta prima del tipo di una variabile: su tale variabile, le operazioni di scrittura e lettura vengono eseguite in maniera, appunto, atomica, con la conseguente impossibilità di errori in fase di get o set.

    Ma qualcuno potrebbe spiegarmi meglio se c'è un altro legame tra le due keywords?

    Inoltre ricordo di aver letto qualcosa a proposito dei tipo long e double, i quali "davano problemi" insieme alla parola volatile.

    Sogno o son desto?

  2. #2
    Il modificatore volatile serve per marcare variabili d’istanza, in modo tale che la Java Virtual Machine, utilizzi una particolare ottimizzazione nel loro uso, in caso di accesso parallelo da più thread. Infatti, quando più thread condividono l’utilizzo di una variabile, la JVM, per ottimizzare le prestazioni, crea copie della variabile per ogni thread, preoccupandosi poi di sincronizzare i loro valori con la variabile vera, quando lo ritiene opportuno. Se dichiariamo la variabile condivisa volatile, faremo in modo che la JVM, sincronizzi il suo valore con le relative copie dopo ogni cambio di valore. L’utilità è quindi limitata a pochi casi, relativi ad ambiti molto complessi.

    Per quanto riguarda atomic sinceramente non so aiutarti
    Al mio segnale... scatenate l'inferno!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.