gpt4 book ai didi

android - 在BluetoothChat示例中以非同步方式在Bluetooth上写入

转载 作者:行者123 更新时间:2023-12-03 13:12:45 25 4
gpt4 key购买 nike

这是我第一次参与基于android的蓝牙应用程序,并且为了更好地了解其工作方式,我在研究BluetoothChat示例。
或多或少,我想我已经了解了一切,但是到了我无法再前进的地步。
用这种方式写数据的原因是什么?

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);
}

为什么不直接调用mConnectedThread.write(out)?
同步的目标是什么?

我了解(显然是错误地)此代码仅在主线程上执行,在这种情况下,为什么我们需要此互斥锁?

谢谢大家。
附注:对不起,我的英语不好!

最佳答案

对于问题部分:同步的目标是什么? -目标似乎正在以线程安全的方式访问mThread和mConnect变量(即,在访问另一个变量时未对其进行任何更改)。此链接(以及其中的其他链接)将通过Java Synchronization上的更多指示灯显示

关于android - 在BluetoothChat示例中以非同步方式在Bluetooth上写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21466156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com