java - Timer 和 Runnable 有什么区别?
问题描述
我想知道这两个类之间到底有什么区别,什么时候应该使用它们。
我问这个是因为我想知道这个示例代码:
mStatusChecker = new Runnable() {
@Override
public void run() {
invalidate();
mHandler.postDelayed(mStatuschecker, (long) increment * 1000);
}
};
如果我把这mHandler.postDelayed
行代码放在前面 invalidate()
,它Runnable
的执行速度几乎是原来的两倍。我想知道是否Timer
可以使用 a 来解决此问题。
解决方案
Timer 是一种用于线程调度任务以供将来在后台线程中执行的工具。任务可以安排为一次性执行,或定期重复执行。
推荐阅读
- html - 如何在 HTML 和 CSS 中加入法线(水平)和旋转线在同一点结束?
- java - 使用 Jackson 反序列化为字符串或对象
- javascript - How do I unsubscribe from inner observables in redux observable?
- reactjs - 如何在函数中评分时获得评分值
- scikit-learn - 使用 Gridsearch 降低回归得分
- chatbot - 如何创建一个聊天机器人,将输入组织到选定的模板中?
- sql - MAX query problems
- python-3.x - 如何从第 1 行修复“与第一次不匹配的差异”
- python - 为什么我使用pycharm时我的django项目url直接指向旧的
- octobercms - 如何实现这个 SQL 查询?whereNotBetween 问题