ScheduledExecutorService scheduledExecutorService= Executors.newScheduledThreadPool(1);
scheduledExecutorService.schedule(new MyRunnable(), 10, TimeUnit.SECONDS);
参数的作用:
runnable : 顾名思义
long i : 指定时间执行一次
timeUnit : 时间的单位
timeUnit的单位有这些
// 上面的代码只执行一次就停止
ScheduledExecutorService scheduledExecutorService= Executors.newScheduledThreadPool(1);
scheduledExecutorService.scheduleAtFixedRate(new MyRunnable(), 10 , 15, TimeUnit.SECONDS);
参数的作用:
runnable : 顾名思义
long i : 第一次执行间隔的时间
long l1: 指定时间重复执行 , 比如写20秒, 即每20秒执行一次线程
timeUnit : 时间的单位
timeUnit的单位有这些
注意:
用 scheduleAtFixedRate() 启动线程,它不会自动停止,也不会因为启动它的activity等组件关闭就停止运行
所以,在该线程中作UI更新,必须在该activity退出的时候,停止线程的执行