В чем преимущество использования класса Unsafe для написания атомарных операций над блоками синхронизации? - PullRequest
4 голосов
/ 16 августа 2011

почему java Atomics использует класс Sun Unsafe, а не синхронизирует block / volatile?

Ответы [ 2 ]

4 голосов
/ 16 августа 2011

синхронизация намного тяжелее.

В бэкпорте библиотеки параллелизма для Java 1.4 используется синхронизация, однако она также не выполняет никаких операций рядом.

Небезопасный дает прямой доступинструкции сравнения и замены процессора.

1 голос
/ 16 августа 2011

Я могу вспомнить, что программисты классов Atomics знают, что они делают, поэтому они используют низкоуровневые методы для лучшей производительности.

Синхронизация - действительно тяжелый инструмент при выполнении многопоточных операций. Его путь к мощным / заблокированным для простой блокировки / взаимного исключения.

...