美文网首页
java sleep/wait/yield

java sleep/wait/yield

作者: verk | 来源:发表于2018-08-22 21:16 被阅读0次

    sleep()方法是Thread类里面的,主要的意义就是让当前线程停止执行,让出cpu给其他的线程,但是不会释放对象锁资源以及监控的状态,当指定的时间到了之后又会自动恢复运行状态。

    wait()方法是Object类里面的,主要的意义就是让线程放弃当前的对象的锁,进入等待此对象的等待锁定池,只有针对此对象调动notify方法后本线程才能够进入对象锁定池准备获取对象锁进入运行状态。调用当前sychronise锁对象的wait方法,即可放弃该锁。

    notify和notifAll可以通知其他在等待的线程,唤醒。

    名称 调用方式 作用 是否释放锁 备注
    sleep Thread.sleep() 让出CPU
    wait Object.wait() 让出CPU 当前线程必须获取锁之后才能调用wait方法
    yield Thread.yield() 线程Running状态转变为Runnable状态

    相关文章

      网友评论

          本文标题:java sleep/wait/yield

          本文链接:https://www.haomeiwen.com/subject/wnhuiftx.html