2011-08-15 2 views

답변

1

프로그래머는 Atomics 클래스의 기능을 알고 있다고 생각할 수 있습니다. 따라서 성능 향상을 위해 저수준 메서드를 사용합니다.

동기화는 멀티 스레드 작업을 수행 할 때 매우 중요한 도구입니다. 강력한 방법/간단한 잠금/상호 배타에 대한 blooted.

4

동기화가 훨씬 더 무겁습니다.

Java 1.4의 동시성 라이브러리 백 포트는 동기화를 사용하지만 거의 동시에 수행하지 않습니다.

Unsafe를 사용하면 CPU의 Compare-and-Swap 명령에 직접 액세스 할 수 있습니다.

+0

저수준 일에 대한 세부 정보가 너무 많이 나옵니 까? –

+0

@Clark, 99 %의 경우 Unsafe가 필요하지 않으므로 대신 Unsafe 클래스를 사용하는 클래스를 사용해야합니다. 일반적으로 클래스 사용 방법을 이해하는 데 도움이되는 경우에만 유용합니다. 드물 긴하지만 Unsafe를 사용하는 것이 유일한 방법입니다. ;) –

+0

/@ Peter 아마 멀티 스레드를 사용하는 것은 이미 자바와 같은 언어를 그 한계에 밀고있다. 아마도 일반적인 유틸리티 클래스에서 다중 스레드에 필요한 모든 함수를 추상화하는 것은 너무 어렵습니다. –