如何控制同一对象的多个线程?

时间:2014-02-03 17:58:34

标签: java android

以下是我的按钮点击android

protected onCreate(Bundle savedInstanceState)
  {
     super.onCreate(savedInstanceState)
          public void onClick(View arg0)
                   {
                       if(connectThread!=null)
                            {
                               connectThread.kill();
                            }
                        connectThread=new ConnectThread(device);
                        connectThread.start();
                   }
}

我在boolean类中运行了一个ConnectThread volatile变量,默认情况下为true,kill方法将其值设置为false。 问题是它仍然没有工作的原因可能是我的ConnectThread run方法我创建了另一个线程,但这应该不是问题,因为它是从run方法调用的,因为那将是{的子线程{1}};杀死connectThread会自动取消吗?

ConnectThread

的杀戮方法
ConnectThread

运行 public void kill() { running=false; }

的方法
ConnectThread

1 个答案:

答案 0 :(得分:0)

如果您的设备上的应用仍处于活动状态,并且您启动了第二个连接线程,则蓝牙设备可能无法使用。

我建议你阅读Android Activity Lifecycle