Java中sleep和wait的区别
来源:互联网 发布:access mysql 交互 编辑:程序博客网 时间:2024/05/14 09:45
sleep()、suspend()、resume()方法不推荐使用,推荐使用wait()、notify()、notifyAll()。
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非
(a)“醒来”的线程具有更高的优先级。
(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait(www.37meishi.com)调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
当调用wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其它synchronized数据可被别的线程使用。
waite()和notify()因为会对对象的“锁标志”进行操作,所以它们必须在synchronized函数或synchronized block中进行调用。如果在non-synchronized函数或non-synchronized block中进行调用,虽然能编译通过,但在运行时会发生IllegalMonitorStateException的异常。
0 0
- Java中sleep和wait的区别
- Java中sleep和wait的区别
- java中wait和sleep的区别
- Java中sleep和wait的区别
- Java中sleep和wait的区别
- java中sleep()和wait()的区别
- Java中sleep和wait的区别
- Java中sleep()和wait()的区别
- java中sleep()和wait()的区别?
- Java中sleep()和wait()的区别
- java中wait和sleep的区别
- java中sleep()和wait()的区别
- java中sleep和wait的区别
- Java中sleep和wait的区别
- java中wait和sleep的区别
- Java中wait和sleep的区别
- Java中wait()和sleep()的区别
- Java中sleep和wait的区别
- Android NDK开发(四)——Java传递数据到C
- 优秀IT技术文章集(最新)(高质量)
- 紫外线消毒器:飞利浦紫外线杀菌灯TUVF17T8
- 第十六周OJ项目一逆序输出数组
- System.arrayCopy()研究
- Java中sleep和wait的区别
- 用结构计算两个有理数的和。
- 紫外线消毒器:飞利浦紫外线杀菌灯TUV36W
- hadoop input文件路径匹配
- [Linux学习笔记]系统分区知识点归纳
- iOS使用xib文件创建一个组件为子控件,进行复用
- 嵌入式 字符设备驱动经典示例
- 如何制作 iOS ipa - Ad-Hoc
- word2vec 中的数学原理详解(三)背景知识