¿Por qué debería utilizar la palabra clave volátil con precaución en programas multiproceso?
Debido a que volátil no garantiza su atomicidad, solo garantiza que la modificación de un determinado hilo será visible para otros hilos,
especialmente cuando varios hilos incrementan automáticamente una variable. hará que las variables salgan mal.
Refiriéndose al libro "Comprensión profunda de la máquina virtual Java", volátil se utiliza en los siguientes escenarios:
1>El resultado de la operación no depende del valor actual de la variable, o puede garantizar que solo haya un hilo Modifique el valor de la variable.
2>Las variables no necesitan participar en restricciones invariantes con otras variables de estado (lo que significa que no entiendes esta oración).
Por lo tanto, tenga cuidado al usar la palabra clave volátil. No significa que las variables de tipo simple se modifiquen con volátil. Todas las operaciones sobre esta variable son las operaciones originales. propio anterior, como n = n + 1, n ++, etc., la palabra clave volátil no será válida. La operación en la variable es atómica solo cuando el valor de la variable no tiene nada que ver con su valor anterior. = m+1, este es el nivel original. Por lo tanto, debe tener cuidado al usar claves volátiles. Si no está seguro, puede usar sincronizadas en lugar de volátiles.