千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  IT面试题  >  物联网  >  正文

sleep()方法和wait()方法区别和共同点?

来源:千锋教育
作者:WJY
关键词: 广州 成都
2022-09-26
分享

sleep() 方法和 wait() 方法区别和共同点

  相同点:

  两者都可以暂停线程的执行,都会让线程进入等待状态。

  不同点:

  - sleep()方法没有释放锁,而 wait()方法释放了锁。

  - sleep()方法属于Thread类的静态方法,作用于当前线程;而wait()方法是Object类的实例方法,作用于对象本身。

  - 执行sleep()方法后,可以通过超时或者调用interrupt()方法唤醒休眠中的线程;执行wait()方法后,通过调用notify()或notifyAll()方法唤醒等待线程。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

下一篇

相关推荐

  • sleep()方法和wait()方法区别和共同点? - sleep()方法属于Thread类的静态方法,作用于当前线程;而wait()方法是Object类的实例方法,作用于对象本身。 - 执行sleep()方法后,可以通过超时或者调用interrupt()方法唤醒休眠中的线程;执行wait()方法后,通过调用notify()或notifyAll()方法唤醒等待线程。
  • 什么是上下文切换 时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的。(时间片一般是几十毫秒) CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。
  • 为什么程序计数器、虚拟机栈和本地方法栈是线程私有的呢? 1、字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。 2、在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。
  • 什么时候用多线程?什么时候用多进程? 1)需要频繁创建销毁的优先用线程 原因请看上面的对比。 这种原则最常见的应用就是Web服务器了,来一个连接建立一个线程,断了就销毁线程,要是用进程,创建和销毁的代价是很难承受的