java - Android,当我必须在线程中使用同步

标签 java android multithreading bluetooth

我正处于 Java 应用程序的开头。我用一些线程创建了一个服务,但我不明白什么时候必须使用同步,什么时候不需要。

例如,我必须通过蓝牙连接到一个模块,然后我使用一个有两个线程的服务:ConnectThread 放弃连接,ConnectedThread 管理读/写连接。

那么什么时候必须使用synchronized呢?

谢谢

最佳答案

只要不同线程使用相同(即全局)变量,基本上是在共享信息时,就使用 Synchronized 关键字。检查代码以查看是否属于这种情况。

当每个线程使用的变量是本地变量时,不需要同步。然后使用它会导致性能下降,并可能导致不一致。

关于java - Android,当我必须在线程中使用同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31247055/

相关文章:

java - Maven 依赖解析(冲突)

android - 检测 phonegap webview 何时完成加载 android

ruby - 是否可以使用 EventMachine 和 Ruby 1.8 发起多个并行 http 请求

java - 如果数据已更改,则不要更新 ResultSet 中的行

java - 如何用Java中的匿名类替换监听器?

java - Android 5.0 SSL 连接问题

android - 有没有一种简单的方法可以在phonegap中获得手机罗盘航向的准确性?

android - 应用被 Google Play 移除,因为旧版本不符合新的后台位置政策

java - 在 Java 多线程环境中分配唯一代理

python - 主线程不在主循环 tkinter 中,具有多个 pysimplegui 或 tkinter 对象的多线程 [已解决]