`
can_do
  • 浏览: 251279 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中sleep()和wait()区别

阅读更多
(1).Thread.sleep() vs someObject.wait() =>for Thread vs for Object
(2).release lock or not?=>当等待时,wait()会释放lock或者监视器,而sleep不会释放任何lock或者监视器。
/////////////begin//////
synchronized(LOCK) {
    Thread.sleep(1000); // LOCK is held
}


synchronized(LOCK) {
    LOCK.wait(); // LOCK is not held
/////////////end////////
(3).wakeup by self or by other thread=>sleep()时,当前线程停止指定的毫秒数后,又开始执行;而wait()时,当前线程释放lock,处于waiting状态,等待其他线程通过notify()同一对象。

>>>The major difference is to wait to release the lock or monitor while sleep doesn't release any lock or monitor while waiting. Wait is used for inter-thread communication while sleep is used to introduce pause on execution.
=>主要的不同是,当等待时,wait()会释放lock或者监视器,而sleep不会释放任何lock或者监视器。
=>wait()用于线程间通讯,而sleep()用于当前线程执行暂停。

>>>wait():Causes the current thread to wait until either another thread invokes the
java.lang.Object.notify() method or the java.lang.Object.notifyAll()method for this object, or a specified amount of time has elapsed.
>>>sleep():Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to the precision and accuracy of system timers and schedulers. The thread does not lose ownership of any monitors.
=>sleep()不会释放lock,
分享到:
评论

相关推荐

    java中yieldsleep以及wait的区别.pdf

    java中yieldsleep以及wait的区别.pdf

    java sleep和wait的解惑.docx

    java sleep和wait的解惑.docx

    java sleep()和wait()

    sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行.wait()和它的区别请查看下载。

    详解Java中的sleep()和wait()的区别

    主要介绍了详解Java中的sleep()和wait()的区别的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

    Java线程中sleep和wait的区别详细介绍

    Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行

    java 中sleep() 和 wait() 的对比

    主要介绍了java 中sleep() 和 wait() 的对比的相关资料,需要的朋友可以参考下

    详解Java中wait和sleep的区别

    主要介绍了Java中wait和sleep的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    JAVA线程sleep()和wait()详解及实例

    主要介绍了JAVA线程sleep()和wait()详解及实例的相关资料,探讨一下sleep()和wait()方法的区别和实现机制,需要的朋友可以参考下

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

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

    Java中sleep()与wait()的区别总结

    因为最近学习时正好碰到这两个方法,就查阅相关资料,并通过程序实现,进行区别总结一下,所以下面这篇文章主要给大家总结介绍了关于Java中sleep()与wait()区别的相关资料,需要的朋友可以参考,下面来一起看看吧。

    计算机后端-Java-Java核心基础-第20章 多线程 16. sleep()和wait()的异同.avi

    计算机后端-Java-Java核心基础-第20章 多线程 16. sleep()和wait()的异同.avi

    java社招二面面试题有哪些

    二面问题汇总 对象之间的关系 ...sleep和wait的区别 collection和map的区别 集合哪些是排序的 List的Conllections.sort()底层怎么实现的 Comapeble和compartor jsp和servlet的区别 jsp要编译吗 jsp编译了放在哪

    Java 基础面试题

    22. 线程wait和sleep相同点和不同点 23. 为什么start调用run方法,调用run不会调用start方法 24. 手写单例模式中的懒汉式和饿汉 25. transient 这个关键字是干啥的 26. 什么是一致性hash算法 27. 构造方法链 ...

    java并发编程面试题

    sleep() 和 wait() 有什么区别? 什么是线程同步和线程互斥,有哪几种实现方式? Java 线程数过多会造成什么异常? 并发编程-Java内存模型 ## as-if-srial规则和happens-before规则的区别 synchronized、volatile、...

    java 多线程设计模式 进程详解

    wait()和sleep() 线程中断 静态方法(有关同步的细节) 总结 第五章 Java线程编程的例子 数据结构和容器 简单的同步例子 一个网络服务器类 AsyncInputStream类 使用TCPServer和AsynclnputStream 总结 第六章 ...

    Java常见面试题208道.docx

    41.sleep() 和 wait() 有什么区别? 42.notify()和 notifyAll()有什么区别? 43.线程的 run()和 start()有什么区别? 44.创建线程池有哪几种方式? 45.线程池都有哪些状态? 46.线程池中 submit()和 execute()方法有...

    CoreJava面试题汇总.html

    CoreJava面试题总结。 1 常用的集合有哪些?为什么这么用? 2 静态变量和成员变量的区别 3 filter过滤器用过么,一般用在什么地方? 4 多线程一般用在什么地方?...12 wait sleep的区别? 13 start run区别?

    100家大公司java笔试题汇总

    sleep() 和 wait() 有什么区别? (网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是...

    Java高级工程师面试宝典

    Condition 的功能类似于在传统的线程技巧中使用 wait() 和 notify() 方法来实现线程之间的通信和同步。Condition 可以 êtreseen 作为一种高级的锁,它具有等待、通知和超时等机制,可以用来实现复杂的同步机制。

    java多线程示例

    Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread...本示例演示和wait和sleep、线程锁的使用。

Global site tag (gtag.js) - Google Analytics