1. 설명
여러 스레드가 동시에 리소스에 대해 CAS 작업을 수행하면 하나의 스레드만 성공하지만 다른 스레드는 차단되지 않으며 다른 스레드는 작업이 실패했다는 신호만 받습니다. CAS는 실제로 낙관적 잠금임을 알 수 있습니다.
2. 예제
AtomInteger의 코드를 따라가면 마침내 sum.misc.Unsafe가 호출되는 것을 알 수 있습니다. Unsafe라는 이름을 보세요. 이는 Java 클래스 및 가시성 규칙의 올바른 허점을 이용하는 안전하지 않은 클래스입니다. 속도를 위해 Unsafe는 Java의 보안 표준을 일부 절충합니다.
public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
이 CAS 메서드는 로컬 메서드를 사용해야 합니다. 따라서 우리는 이러한 메소드의 구체적인 구현을 위해 jdk의 소스 코드를 직접 검색해야 합니다.
1. Java 언어는 정적 객체지향 프로그래밍 언어의 대표자로 객체지향 이론을 구현하고 프로그래머가 우아한 사고 방식으로 복잡한 프로그래밍을 수행할 수 있도록 해줍니다.
2.Java는 단순성, 객체 지향, 분산, 보안, 플랫폼 독립성과 이식성, 동적 특성을 가지고 있습니다.
3. Java를 사용하여 데스크톱 애플리케이션, 웹 애플리케이션, 분산 시스템 및 임베디드 시스템 애플리케이션 등을 작성합니다.
위 내용은 자바 CAS의 개념은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!