Java 동시성 ----동시성 메커니즘의 기본 구현 원칙

주로 Sync, Atomic 클래스, Lock 클래스가 포함됩니다. 휘발성도 있지만 동기화를 제한하는 작업으로 간주되지 않습니다.

휘발성 물질

경량 동기화는 공유 변수의 가시성을 보장합니다. 가시성은 한 스레드가 공유 변수를 수정할 때 다른 스레드가 수정된 값을 읽을 수 있음을 의미합니다. 컨텍스트 전환을 일으키지 않기 때문에 실행 비용이 동기화보다 낮습니다. ,

동기화됨

베테랑 수준의 잠금 장치입니다.

Java의 모든 객체는 잠금으로 사용될 수 있습니다.

  • 일반적인 동기화 방법의 경우 잠금은 현재 인스턴스입니다.
  • 정적 동기화 방법의 경우 잠금은 클래스의 클래스 객체입니다.
  • 동기화된 메서드 블록의 경우 잠금은 키워드 대괄호 안의 코드입니다.

잠금 업그레이드

1.6 이후에는 잠금 소비를 줄이기 위해 잠금 없는 잠금, 편향된 잠금, 경량 잠금 및 중량 잠금 업그레이드 프로세스가 도입되었습니다. 업그레이드는 가능하지만 다운그레이드는 불가능합니다.

원자적 연산

Atomic은 원래 "더 이상 나눌 수 없는 가장 작은 입자"를 의미하고, Atomic Operation은 "중단될 수 없는 하나 또는 일련의 작동"을 의미합니다.

원자적 작업은 버스 잠금 및 캐시 잠금을 통해 구현됩니다.

Java에서는 CAS를 사용하여 원자 연산을 구현합니다.

Supongo que te gusta

Origin blog.csdn.net/Yoke______/article/details/123231739
Recomendado
Clasificación