Небезопасная реализация класса солнца

/**
     * Atomically update Java variable to <tt>x</tt> if it is currently
     * holding <tt>expected</tt>.
     * @return <tt>true</tt> if successful
     */
    public final native boolean compareAndSwapObject(Object o, long offset,
                                                     Object expected,
                                                     Object x);

1)Как они "атомарно" устанавливают значение "o" в позиции "offset" на "x " если "значение==ожидаемое"?

2)Как они "блокируют" объект, когда мы используем синхронизированный метод или синхронизированный блок? Мне просто интересно узнать, что там под капотом.

5
задан 31 March 2012 в 13:02
поделиться