关注
在Java中,`sleep()`方法和`wait()`方法都可以用于线程控制,但是它们有一些重要的区别:
1. **对象锁的释放**:
- 在调用`sleep()`方法时,线程会暂时放弃CPU的执行权,但是并不释放对象锁。
- 而调用`wait()`方法时,线程不仅会暂时放弃CPU的执行权,还会释放对象锁,使得其他线程可以获得该对象锁并执行相应的代码。
2. **使用场景**:
- `sleep()`方法通常用于模拟等待一段时间后再继续执行的情况,或者用于实现一些定时任务。
- `wait()`方法通常用于多线程间的协调和通信,比如等待某个共享资源的状态发生变化或者等待某个条件的满足。
3. **调用方式**:
- `sleep()`方法是`Thread`类的静态方法,直接通过`Thread.sleep()`调用。
- `wait()`方法则是`Object`类的实例方法,需要在同步块或同步方法中调用,并且必须先获得对象的锁才能调用。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招生月薪1W算什么水平 #
38563次浏览 211人参与
# 一人一个landing小技巧 #
124705次浏览 1450人参与
# “vivo”个offer #
40208次浏览 284人参与
# 如果上班像打游戏,你最想解锁什么技能 #
9181次浏览 73人参与
# 我和mentor的爱恨情仇 #
77151次浏览 427人参与
# 为了实习逃课值吗? #
30691次浏览 278人参与
# 哪一瞬间觉得自己长大了 #
38972次浏览 494人参与
# 你见过哪些工贼行为 #
25553次浏览 127人参与
# vivo工作体验 #
28646次浏览 124人参与
# 工作后明白的那些道理 #
22452次浏览 225人参与
# 实习吐槽大会 #
386120次浏览 2156人参与
# 被同事甩锅了怎么办 #
23659次浏览 100人参与
# 我是面试官,请用一句话让我破防 #
27935次浏览 132人参与
# 中美关税战对我们有哪些影响 #
44139次浏览 371人参与
# 和mentor 1on1 都聊什么? #
1446次浏览 18人参与
# 你的秋招第一场笔试是哪家 #
257513次浏览 2022人参与
# 中美关系回暖,你会选择出海吗? #
7850次浏览 118人参与
# 哪些行业值得去? #
6193次浏览 51人参与
# 华为保温 #
108746次浏览 410人参与
# 你认为工作的意义是什么 #
193906次浏览 1180人参与
# 读研or工作,哪个性价比更高? #
79048次浏览 769人参与
