Algumas dúvidas sobre classes voláteis e atômicas?

Eu estou indo através do livro de threads Java. Me deparei com essa afirmação

Declaração 1: - "variáveis ​​voláteis podem ser usadas com segurança apenas para carga única ou operação de loja e não podem ser aplicadas a variais longas ou duplas. Essas restrições tornam incomum o uso de variáveis ​​voláteis"

Eu não entendi o que significa carga única ou operação de loja significa aqui? Por que o volátil não pode ser aplicado em variais longas ou duplas?

Declaração 2: - "Um inteiro volátil não pode ser usado com o operador ++ porque o operador ++ contém várias instruções. A classe AtomicInteger tem um método que permite que o inteiro que ele contém seja incrementado atomicamente."

Por que o inteiro volátil não pode ser usado com o operador ++ e como o AtomicInteger resolve isso?

questionAnswers(2)

yourAnswerToTheQuestion