Android项目YQSM小知识整理

1、如何停止一个线程
不要用Thread.stop(),而要像下面这样停止线程,更多信息请看官方文档 https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html


  private volatile Thread mThread;

 /**
     * 启动线程更新当前日期和时间
     */
    private void startThread() {
        mThread = new Thread(() -> {
            Thread thisThread = Thread.currentThread();
            while (mThread == thisThread ) {
                try {
                    Thread.sleep(1000);
                    Message mesasge = new Message();
                    mesasge.what = 100;
                    mHandler.sendMessage(mesasge);

                } catch (InterruptedException e ) {
                    e.printStackTrace();
                }

            }

            Log.i(TAG, "Thread was stop");

        });
        mThread.start();
    }

    private void updateDatetime() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
        datetimeTv.setText(sdf.format(new Date(System.currentTimeMillis())));
    }

    private void stopThread() {
        mThread = null;
    }

2、Java基础:volatile详解

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容