Open xchengDroid opened 3 years ago
BluetoothClientImpl 类里面的代码,比如mCountDownLatch 这个对象 在bindServiceSync 赋值了,没有来得及同步导致notifyBluetoothManagerReady 方法里为null
@fuhaodev
不会,mCountDownLatch赋值是在bindServiceSync之前,这段代码是在同一个线程的,notifyBluetoothManagerReady必然是在mCountDownLatch赋值之后回调的,是不会为空的
根据happens-before原则也能推到出来
这段代码 我想问下 mBluetoothService 和 mCountDownLatch 对象会不会存在线程同步问题,应为 mConnection的回调方法和bindServiceSync不在同一个线程!mConnection的回调在主线程,这种赋值操作不在一个线程会不会有问题