多线程中sleep()和wait()方法有什么区别呢?

乔欣 Java面经 发布时间:2022-11-11 22:36:19 阅读数:11627 1 并发编程面试题(2023最新版) 多线程
下文笔者讲述多线程中sleep()和wait()方法的区别说明,如下所示

sleep()和wait()方法的功能

sleep()和wait()方法都可用于暂停线程运行
  调用此方法时
  都会抛出InterruptedException异常

sleep()和wait()方法的区别

区别1:两个方法所属类不同
     sleep()是Thread线程类静态方法
	 wait()是Object类方法

区别2:是否释放锁
     sleep()不释放锁
     wait()释放锁

区别3:功能不同
      sleep()通常被用于暂停线程执行
	  wait()方法通常被用于线程间交互/通信

区别4:用法不同
      sleep() 方法执行完成后,线程会自动苏醒
	  wait()方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify()
	      或notifyAll()方法或可以使用wait(long timeout)超时后线程会自动苏醒
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16681777854868.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者