Qual é o objetivo dessa sincronização?
Qual é o ponto da sincronização aqui?
Por que não apenas usarmConnectedThread.write(out)
?
O snippet de código é da amostra BluetoothChat para Android(encontrado aqui)
/**
* 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);
}