timer+thread 入门,简单封装
来源:互联网 发布:淘宝私人定制怎么设置 编辑:程序博客网 时间:2024/05/29 04:57
我们平时经常会用到timer,不过将timer放在主线程会加重主线程的负担
所以我们更倾向于使用多线程实现timer,每隔一段时间再通知主线程更新ui
大致思路:
- 使用thread,run,handler,msg实现多线程
- 使用timer,timerTask实现定时器功能
我们先来实现主线程中,更新ui的功能
新建一个handler,收到指定任务的code时,就执行我们定义的步骤
handler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);if (msg.what == task_code) {//timer action}}};我们现在另外开一个线程类,我们可以想到,他需要几个参数,handler+delay的长度(毫秒)+时间间隔(毫秒)+任务code,为了安全起见,我把context也加上了
public TimerThread(Context context, Handler handler, int delay,int interval, int task_code) {// TODO Auto-generated constructor stubthis.handler = handler;mContext = context;this.delay = delay;this.interval = interval;this.task_code = task_code;}@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stubMessage msg = new Message();msg.what = task_code;handler.sendMessage(msg);}}, delay, interval);// schedule(timerTask,delay duration,timer task duration)}是长这个样子的
要调用timertask的时候,就
TimerThread timerThread = new TimerThread(this, handler,1000,1000,task_code);timerThread.start();想停止timer,就
timerThread.timer.cancel();好了
代码在这里:→http://download.csdn.net/detail/edwardwayne/8647501
0 0
- timer+thread 入门,简单封装
- Thread:timer
- Thread & Timer
- Boost.asio的简单使用(timer,thread,io_service类)
- Boost.asio的简单使用(timer,thread,io_service类)
- Lucene 入门和简单封装
- AlarmManager,Timer,Thread区别
- Thread详解16:Timer
- Thread And Timer
- libev timer封装使用
- timer和Thread.sleep()区别
- Thread入门
- 简单入门java多线程<一>:源码分析Thread和Runnable
- Thread类封装
- C++ Thread对象封装
- boost库封装Thread
- Linux thread 封装实现
- Timer与TimerTask入门
- GSM模块联网 GPRS上传物联网云平台调试笔记
- 软件测试-理论常识篇
- eclipse编辑界面为文本编辑或其他非java编辑字体变灰问题解决
- MATLAB中用imshow()显示图像与图像的数据类型的关系
- FFprobe使用指南
- timer+thread 入门,简单封装
- Python练习题(1)_斗地主实现
- 使用Groovy把json字符串转成Java代码
- hdu2037贪心
- EF实现分页查询+条件查询+排序
- matlab中遇到的一些问题
- 一例 Hive join 优化实战
- Isomorphic Strings
- python爬取京东所有iphone的价格和名称