我在Android上使用蓝牙;简而言之,如果套接字当前未连接,我只想打开一个新线程来接收- 我正在使用布尔值进行测试。
所以:
class Main {
protected boolean mConnected;
public void startClientConnection() {
ClientRunnable thread = new ClientRunnable() {
@Override public void manageSocket(BluetoothSocket pSocket) {
synchronized (this) {
if (!mConnected) openReadingThread(pSocket);
} // end synchronized()
} // end manageSocket()
}; // end ClientRunnable
} // end startClientConnection()
} // End CLASS
编辑: 本质上,我需要知道的是,因为 Runnable 将在单独的线程上运行,但mConnected变量只会在主线程中更改,是否需要同步。