相关疑难解决方法(0)

为什么线程没有停止?

我的服务生成一个新线程,并根据通常推荐的中断()方法java方法停止它.当我停止服务时,我在onDestroy()中停止线程.服务停止,并且到达中断代码.但是,很快就会从Runnable的开头重新开始.

public class DoScan extends Service {
    public volatile Thread runner;

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();

        startThread();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        android.util.Log.v("@@@@@@@@@@@@@@@@@@@@", "DoScan.onDestroy");
        stopThread();
    }


    public synchronized void startThread(){
        if(runner == null){
            android.util.Log.v("@@@@@@@@@@@@@@@@@@@@", "DoScan.startthread");     
            runner = new Thread(new ScanningThread());
            runner.start();
        }
    }
    /* use a handler in a loop cycling through most of oncreate.
     * the scanningthread does the work, then notifies the …
Run Code Online (Sandbox Code Playgroud)

multithreading android

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

multithreading ×1