当我使用新的Thread()时,Thread是否真的停止了.insert();?

时间:2014-10-02 06:51:39

标签: java android multithreading

我像以下代码一样创建Thread。这个Thread会发送POST request。(代码尚未编写,所以我没有发布Thread的详细代码)

final Runnable Update_Value = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub

            **// It will send the POST request to the Server**

        }
    };

我使用new Thread(Update_Value).start();来运行Thread。

我使用new Thread(Update_Value).interrupt();来中断线程。

1。如果我使用new Thread(Update_Value).start();来运行Thread

2使用new Thread(Update_Value).start();时如何中断线程?

3如果我关闭它,应用程序关闭时线程是否关闭?

抱歉我的英文...提前致谢。

2 个答案:

答案 0 :(得分:2)

  1. 如果每次使用new线程,这两个调用会创建两个不同的线程;他们不会在同一个帖子上行动。

  2. interrupt()方法不会停止该线程。相反,它告诉线程查看可能已经设置的任何中断标志,例如关闭标志。线程本身必须包含用于检查中断和检查诸如关闭标志之类的标志的代码。

答案 1 :(得分:1)

interrupt方法用于向正在运行的线程发送中断信号。调用新线程没有意义。

要正确处理中断信号,您的线程代码应该捕获InterruptedException。像这样:

try {

      // do thread task

} catch (InterruptedException e) {
    // interrupted: if required do something on interrupt or simply return
    return;
}