주로 Sync, Atomic 클래스, Lock 클래스가 포함됩니다. 휘발성도 있지만 동기화를 제한하는 작업으로 간주되지 않습니다.
휘발성 물질
경량 동기화는 공유 변수의 가시성을 보장합니다. 가시성은 한 스레드가 공유 변수를 수정할 때 다른 스레드가 수정된 값을 읽을 수 있음을 의미합니다. 컨텍스트 전환을 일으키지 않기 때문에 실행 비용이 동기화보다 낮습니다. ,
동기화됨
베테랑 수준의 잠금 장치입니다.
Java의 모든 객체는 잠금으로 사용될 수 있습니다.
- 일반적인 동기화 방법의 경우 잠금은 현재 인스턴스입니다.
- 정적 동기화 방법의 경우 잠금은 클래스의 클래스 객체입니다.
- 동기화된 메서드 블록의 경우 잠금은 키워드 대괄호 안의 코드입니다.
잠금 업그레이드
1.6 이후에는 잠금 소비를 줄이기 위해 잠금 없는 잠금, 편향된 잠금, 경량 잠금 및 중량 잠금 업그레이드 프로세스가 도입되었습니다. 업그레이드는 가능하지만 다운그레이드는 불가능합니다.
원자적 연산
Atomic은 원래 "더 이상 나눌 수 없는 가장 작은 입자"를 의미하고, Atomic Operation은 "중단될 수 없는 하나 또는 일련의 작동"을 의미합니다.
원자적 작업은 버스 잠금 및 캐시 잠금을 통해 구현됩니다.
Java에서는 CAS를 사용하여 원자 연산을 구현합니다.