Java线程方法含义

wait(time)和sleep(time)的区别

  • wait():在synchronized代码块中执行,调用wait方法,会让出cpu调度,同时释放锁
  • sleep():调用sleep方法,会让出cpu调度,但不会释放锁

notify()和notifyAll()的区别

  • notify():会随机唤醒一个在等待池中的线程,让其加入锁池去争夺锁权限
  • notifyAll():会唤醒所有等待池线程,加入到的锁池中争夺锁权限

yield()函数

  • 暗示cpu调度器当前线程让出了cpu,其他线程可以执行任务了,但是其他线程是否会执行任务由cpu调度器决定

interrupt()函数和stop()

  • stop():由于安全问题,被废弃
  • interrupt():通知线程应该中断了
    • 如果线程处于被阻塞状态,那么线程将立即退出阻塞状态,并跑出interruptedException异常.
    • 如果线程处于正常状态,那么会将线程的中断标志设置为true.该线程还将正常运行,不受影响
posted @ 2019-09-27 16:50  lisongyu  阅读(178)  评论(0编辑  收藏  举报