Java 中 sleep 和 wait 的区别
Java juc 大约 271 字区别一
sleep
是Thread
的方法。
wait
是Object
的方法。
区别二
sleep
不需要包裹在synchronized
中。
wait
必须包裹在synchronized
代码块中。
区别三
sleep
不会释放锁。
wait
会释放锁,并进入Monitor
对象的waitSet
中,当调用notify
后重新竞争锁,因为synchronized
是非公平锁,所以可能直接获得了锁,也可能进入EntryList
双向链表等待获取锁。
相同点
sleep(long n)
和wait(long n)
都能被Thread.interrupted()
方法中断
阅读 1396 · 发布于 2021-08-31
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓
昵称:
随便看看
换一批
-
macOS 使用 Colima 代替 Docker Desktop阅读 863
-
Git 命令之暂存区阅读 2607
-
Nginx 负债均衡的几种方式阅读 2074
-
Docker 部署 PostgreSQL阅读 1439
-
走进 Rust:数据类型阅读 2795
-
java.sql.SQLDataException: ORA-01861: literal does not match format string阅读 4184
-
Alpine Linux ll not found 解决方法阅读 1705
-
Android 使用 libphonenumber 库查询归属地阅读 5719
-
配置 Python3.7.4 免安装版本阅读 7497
-
Windows10 Vmmen 进程无法结束解决办法阅读 6689