`

wait,sleep,yield的区别

    博客分类:
  • j2se
阅读更多

1.wait()和sleep()的区别

A.wait()方法属于Object对象的,而sleep()方法是Thread类的静态方法。wait()方法的调用必须
在synchronized的方法或代码块里,否则会抛IllegalMonitorStateException异常,而sleep()
方法没有这个限制。
B.wait()方法可以被唤醒通过notify()或notifyAll()方法。
C.调用wait()方法时会释放对象的Lock or monitor,但是调研sleep()方法不会释放对象的Lock
 or monitor,尽管两者都使得Thread处于waiting状态。

 

2.yield()和sleep()的区别

A.yield()方法暂时挂起当前正在执行的线程为了给正在[等待的][具有相同的优先级的]线程机会执行。
如果没有等待的线程或者在等待的线程的优先级都低于该线程,则该线程将继续执行。所以yield()方法
不能保证挂起当前线程,但能保证该线程让出cpu资源。但是sleep()方法挂起当前线程一定的时间(毫秒
+纳秒)。
分享到:
评论

相关推荐

    多线程sleep,yield,wait区别

    NULL 博文链接:https://coolfire9201207034819.iteye.com/blog/1660744

    java中yieldsleep以及wait的区别.pdf

    java中yieldsleep以及wait的区别.pdf

    sleep()、wait()、yield()和join()方法特点及区别.docx

    sleep()与wait()的区别 1.这两个方法来自不同的类,sleep是Thread类的方法,而wait是Object类的方法; 2.执行sleep方法后不会释放锁,而执行wait方法后会释放锁; 3.wait,notify和notifyAll只能在同步方法或同步...

    Java线程中wait,await,sleep,yield,join用法总结.pdf

    Java线程中wait、await、sleep、yield、join用法汇总,文章里面总结了这些关键字的用法,并且里面带有源码帮助分析用法,此一文就可以理解这些关键字用法,推荐拥有

    线程中sleep、join、yield、wait的区别

    CSDN前辈众多,本文要说全部原创,那不现实,但本文绝对走肾之文,概念知识多来自前辈博文讲解,特此感谢。 文章末尾会给出本人学习过程中翻阅的优秀博文。 正文 给出一段准备代码,相信各位一看就懂,不懂,你不懂...

    高薪程序员面试题精讲系列63之说说sleep()、yield()、join()、wait()的区别.pdf,这是一份不错的文件

    高薪程序员面试题精讲系列63之说说sleep()、yield()、join()、wait()的区别.pdf,这是一份不错的文件

    Java线程中yield与join方法的区别

    之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。  Java线程调度...

    详解Java中的线程让步yield()与线程休眠sleep()方法

    Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法

    Java多线程教程吐血整理干货.md

    sleep方法和wait方法的区别 stop,suspend,resume等方法为什么会被遗弃 interrupt,interrupted,isInterrupted方法区别 join方法 yield方法 多线程 进程和线程 进程与线程最主要的区别是它们是操作系统管理资源的不同...

    SimpleWebServer

    SimpleWebServer原型验证模块间通信同步模式下用synchronized同步块,Lock接口,Object自带的wait/yield/sleep/notify静态方法都是阻塞的,不太适用于短连接高并发的场景,尝试用非阻塞的方式更好的利用系统资源。...

    java线程分析java project例子

    java线程分析java project例子,里面分析了sleep(),join(),yield()和wait以及notify等方法的使用以及需要注意的地方。

    java线程分析android project例子

    java线程分析android project例子,主要分析了sleep(),join(),yield()和wait()以及notify等方法以及需要注意的事项。

    Java高级程序设计测试含答案.docx

    () [单选题] * A.wait()(正确答案) B.sleep() C.yield() D.currentThread() 下面关于线程优先级的说法中,正确的是() [单选题] * A.线程的优先级是不能改变的 B.线程的优先级是在创建线程时设置的 C.在...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【多线程】sleep()和yield()的区别 79 【多线程】对synchronized理解?用在代码块和方法上有什么区别? 80 【多线程】Volatile的理解 82 【*多线程】synchronized底层如何实现的? 82 【多线程】Callable 和 ...

    JAVA高级程序设计测试题含答案.docx

    yield() D. currentThread() 第9题 【单选题】【2.00分】【概念理解】 下面关于线程优先级的说法中,正确的是 [单选题] * A. 线程的优先级是不能改变的 B. 线程的优先级是在创建线程时设置的 C. 在创建线程后的任何...

    Java基础面试题-题目记录

    来两套面试题保持手感 目录 第一套 第二套 简答题 编程题 第一套 ...sleep() B.yield() C.wait() D.Suspend() 3 以下结构中,哪个具有同步功能(B) HashMap() B.ConcurrentHashMap() C.WeakHashMa

    Java测试题2答案

    DEF A notify() B wait() C notifyAll() D sleep() E.yield() F.synchronized(this) 7.构造BufferedInputStream的合适参数是哪个? AC A BufferedInputStream B BufferedOutputStream ...

    java核心知识点整理.pdf

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM .........................

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

    JAVA程序设计教程

    目录 引言 ...................................................................................................................................... I 第一章程序和程序设计 ...............................

Global site tag (gtag.js) - Google Analytics