使用ScheduledExecutorService代替Thread.sleep()、Timer 實現定時執行任務

//登陸操作時顯示等待加載框ProgressDialog
final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        if (isDone) {
            progressDialog.dismiss();
            executorService.shutdown();
            time = 0;
        } else if (time > 3 && !isDone) {
            progressDialog.dismiss();          
            time = 0;
        }
        time++;
    }
},0,1000, TimeUnit.MILLISECONDS);
這裏說一下
Executors.newScheduledThreadPool(1)

裏面的傳入參數,很多博客都只解釋了它指定線程池大小。我這種水平看了就很懵逼,線程池是啥啊?作用是啥啊?雖然不用管是啥也能達到我實現我的功能的目的,但是這個卡的我很難受。找了一下,這篇博客介紹的比較生動形象且詳細,耐心看看吧:


https://www.cnblogs.com/dolphin0520/p/3932921.html




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章