Thread

  • 我们一般不会直接使用线程的stop()方法杀掉线程,因为使用stop()方法结束一个线程,并不会保证线程的资源正常释放,反而会导致线程可能出现一些不稳定状态,可能会引起程序的崩溃。我们一般使用一个标志位来让线程停止运行,也就会让线程在终止时有机会清理资源,这种方式也更加安全。
public class DemoThread extends Thread {

    private static final String TAG = DemoThread.class.getSimpleName();

    private boolean mIsRunning = true;

    @Override
    public void run() {
        super.run();
        while (mIsRunning) {
            Log.e(TAG, "thread is running...");
        }
    }

    @Override
    public void interrupt() {
        super.interrupt();
        mIsRunning = false;
    }

}