Java中的sleep()和wait()

原创 2016年08月28日 21:46:34

最近在看Java线程相关的知识,故对Java中的sleep()和wait()这两个方法做一个笔记,以供自己查阅。

sleep()方法是Thread类的方法,wait()方法是Object类中的方法。
sleep()方法是Thread中的一个静态方法。它可以使当前的线程在特定的时间内进入“非运行”状态。在此期间,该线程保持它所持有的锁。
wait()方法是一个在Object类里的方法。它可以使当前的线程进入“非运行”状态。Wait在一个对象上被调用,而不是在线程上被调用。在调用wait()方法之前,对象应该是同步的,意味着对象应该在同步块里。线程对wait()的调用释放了锁。
sleep(milliseconds)自动醒过来,只能调用interreput()来强行打断;wait()可以用notify()直接唤起。
上面是我查阅资料后记的笔记,完整的描述在后面的链接里可以看见。

参考:1.http://www.java2novice.com/java_interview_questions/wait-sleep-difference/
2.https://www.zhihu.com/question/23328075
3.http://blog.csdn.net/liuzhenwen/article/details/4202967(赞)

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

sleep()和wait()的区别 Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只...
  • liuguangqiang
  • liuguangqiang
  • 2015年10月16日 16:23
  • 7722

深入理解Java多线程中的wait(),notify()和sleep()

大家在学习Java的过程中,势必要进行多线程的系统学习,这部分内容知识对于你在工作中的影响是极大的,并且在面试的过程中,这部分知识也是必然会被问到的。既然多线程的知识如此重要,那么我们就不能浅尝辄止。...
  • Kaka534
  • Kaka534
  • 2016年07月07日 10:41
  • 12045

java 中的sleep()和wait() 等的区别和详解

1、sleep()  使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该...
  • u011974987
  • u011974987
  • 2016年11月08日 22:48
  • 1770

sleep和wait区别以及线程池简单实现示例

一、sleep和wait的主要区别:     1、这两个方法来自不同的类分别是Thread和Object     2、最主要是sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以...
  • xybelieve1990
  • xybelieve1990
  • 2016年03月07日 11:49
  • 1804

JAVA进程类中,sleep,wait,join,yield有何差别?并说明进城有哪几种状态

1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchronized同步块,其他线程仍然不同访问共享数据。注意该方...
  • yangling098
  • yangling098
  • 2015年04月02日 16:15
  • 528

Java常见面试题

1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。 sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还...
  • shineflowers
  • shineflowers
  • 2014年10月13日 16:41
  • 45116

浅谈sleep方法和wait方法的异同

浅谈sleep方法和wait方法的异同     在我学到多线程技术这里时,感到sleep方法和wait方法二者给我造成了一些困惑,所以我在此将二者小小地总结 一下,希望对大家有所帮助。   ...
  • u013035237
  • u013035237
  • 2015年04月06日 19:52
  • 2975

线程中sleep()和wait()的区别

Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是实际运行过程中,只有一个线程可以优先运行。 共同点:  1、他们都是在多线程的环境下,都可以在程序...
  • u014704415
  • u014704415
  • 2016年06月08日 10:58
  • 2680

sleep和wait区别

1、sleep()方法     sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会;     s...
  • paincupid
  • paincupid
  • 2015年08月11日 12:06
  • 2097

sleep和wait有什么区别

1、这两个方法来自不同的类分别是Thread和Object   2、最主要是sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以使用同步控制块或者方法。   3、wait...
  • xusongsong520
  • xusongsong520
  • 2013年02月22日 13:50
  • 12875
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中的sleep()和wait()
举报原因:
原因补充:

(最多只允许输入30个字)