Jaki jest sens tej synchronizacji?

Jaki jest sens synchronizacji tutaj?

Dlaczego nie po prostu użyćmConnectedThread.write(out)?

Fragment kodu pochodzi z próbki BluetoothChat dla Androida(tutaj)

    /**
 * Write to the ConnectedThread in an unsynchronized manner
 * @param out The bytes to write
 * @see ConnectedThread#write(byte[])
 */
public void write(byte[] out) {
    // Create temporary object
    ConnectedThread r;
    // Synchronize a copy of the ConnectedThread
    synchronized (this) {
        if (mState != STATE_CONNECTED) return;
        r = mConnectedThread;
    }
    // Perform the write unsynchronized
    r.write(out);
}

questionAnswers(3)

yourAnswerToTheQuestion