一对一聊天app源码,几种常用的定时器

一对一聊天app源码,几种常用的定时器实现的相关代码

1.Handler类的postDelayed方法:

复制代码
 1 Handler mHandler = new Handler();
 2                  Runnable r = new Runnable() {
 3 
 4                     @Override
 5                     public void run() {
 6                             //do something
 7                             //每隔1s循环执行run方法
 8                             mHandler.postDelayed(this, 1000);
 9                     }
10                 };
11 
12 
13 主线程中调用:  mHandler.postDelayed(r, 100);//延时100毫秒
复制代码

2.用handler+timer+timeTask方法:

复制代码
 1 Handler handler = new Handler() {
 2         @Override
 3         public void handleMessage(Message msg) {
 4             if (msg.what == 1){
 5                 //do something
 6             }
 7             super.handleMessage(msg);
 8         }
 9     };
10 
11     Timer timer = new Timer();
12     TimerTask timerTask = new TimerTask() {
13         @Override
14         public void run() {
15             Message message = new Message();
16             message.what = 1;
17             handler.sendMessage(message);
18         }
19     };
20  主线程中调用:timer.schedule(timerTask,1000,500);//延时1s,每隔500毫秒执行一次run方法
复制代码

3.Thread+handler方法:

复制代码
 1 Handler handler = new Handler() {
 2         @Override
 3         public void handleMessage(Message msg) {
 4             if (msg.what == 1){
 5                 //do something
 6             }
 7             super.handleMessage(msg);
 8 
 9         }
10     };
11 
12     class MyThread extends Thread {//这里也可用Runnable接口实现
13         @Override
14         public void run() {
15             while (true){
16                 try {
17                     Thread.sleep(1000);//每隔1s执行一次
18                     Message msg = new Message();
19                     msg.what = 1;
20                     handler.sendMessage(msg);
21                 } catch (InterruptedException e) {
22                     e.printStackTrace();
23                 }
24 
25             }
26         }
27     }
28 主线程中调用:new Thread(new MyThread()).start();
复制代码

以上就是一对一聊天app源码,几种常用的定时器实现的相关代码, 更多内容欢迎关注之后的文章

posted @   云豹科技-苏凌霄  阅读(343)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示