부울, 바이트, short, char, int 및 float와 같은 기본 데이터 유형은 원자 적입니다. long과 double과 같은 64 비트 데이터 유형은 그렇지 않습니다.원시 데이터 유형은 Java에서 원자입니다.
하지만 이것은 무엇을 의미합니까? 내가 때로는 내가 경주 조건을 가지고보다 정수 변수에 증가하고 감소 2 스레드 있습니다.
예를 들어 금액을 변수에 추가하는 바이트 코드입니다.
이 경우 원자 단위로 작동하는 경우 (getfield, iadd ...) 전체가 아닌가요?
의견을 보내주십시오. –
원자는 값을 변경하는 연산이 트랜잭션과 같이 "즉시"발생한다는 것을 의미합니다. 그건 당신이 경쟁 조건을 갖지 않을 것이라는 뜻이 아닙니다. 단지 당신이 원자력 때문에 경쟁 조건을 갖지 못한다는 것을 의미합니다. – alfasin
예 디자인에서 또는 우연히 Are java primitive ints를 읽었습니까? 하지만 내가 왜 "getfield", "iload_1"이 명시 적으로 물었는지는 확실하지 않았습니다. –