前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中sleep和wait的方法区别

java中sleep和wait的方法区别

作者头像
知识浅谈
发布2022-05-19 13:09:57
5270
发布2022-05-19 13:09:57
举报
文章被收录于专栏:分享学习
在这里插入图片描述
在这里插入图片描述

区别

  1. 所属对象不同:sleep方法属于Thread类的,wait方法属于object对象的。
  2. 唤醒方式不同:interrupt()方法可以终端 sleep 和wait方法。notify和ntifyall方法可以唤醒wait方法的暂停,sleep可以设置指定的时间后唤醒。
  3. 使用地方不同:sleep方法可以使用在非同步方法中,wait方法必须使用在同步代码块中。
  4. 方法属性不同:wait是实例方法,而sleep是Thread 的静态方法。
  5. 锁资源占用情况不同:wait会释放对象锁,而sleep不会释放对象锁。

知识点补充

线程的六大状态:

1)六大状态概述: NEW:线程刚创建 RUNNABLE:在JVM中正在运行的线程 BLOCKED:线程处于阻塞状态,等待监视锁,可以重新进行同步代码块中执行 WAITING:等待状态 TIMED_WAITING:调用sleep() join() wait()方法可能导致线程处于等待状态 TERMINATED:线程执行完毕,已经退出 2)六大状态图:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 区别
    • 线程的六大状态:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档