跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Java 里调用 notify()后,当前线程会立刻放弃继续执行吗(哪怕分配给当前线程的时间片没用完)?
未分類
10 5 月 2020

Java 里调用 notify()后,当前线程会立刻放弃继续执行吗(哪怕分配给当前线程的时间片没用完)?

Java 里调用 notify()后,当前线程会立刻放弃继续执行吗(哪怕分配给当前线程的时间片没用完)?

資深大佬 : jiangwenjie 14

我印象中 notify 好像是唤醒等待线程用的,好像和放弃执行没有关系,而且时间片级别的操作大多依赖操作系统对线程调度的实现,不过如果线程进入等待的话理应可以立即放弃时间片的
大佬有話說 (8)

  • 資深大佬 : pursuer

    @pursuer 你们工作中用多线程的地方多吗?

  • 資深大佬 : yjxjn

    notify 是唤醒一个正在等待的线程。。当前线程为什么要放弃执行。。。我猜你想要 join ?

  • 資深大佬 : guyeu

    是在离开同步代码块之后,才会放弃执行。也就是 synchronized 结束或者 unlock() 之后。

  • 資深大佬 : sudden

    主是想说 yield() 吧

  • 資深大佬 : lanterboy

    notify 和主说的好像关系不大,notify 会从等待队列中随机选取一个放入到同步队列中,notify 的时候不会放锁的,会继续执行,执行到 cpu 时间片用完被调度,直到退出同步

  • 資深大佬 : 776491381

    你不会把 java 当成 node js 那样单线程执行的吧?

  • 資深大佬 : daozhihun

    @yjxjn #2 我工作不是用 Java 的,只是自己做的一些工具是用 Java,因为不能堵塞 UI 线程,涉及网络,文件等耗时操作都会用到多线程

  • 資深大佬 : pursuer

    notify 用于唤醒睡眠等待状态的线程, 而且并不是马上执行的, 而是转换为可被调度状态, 等待 cpu 的调度. 调用 notify 的本线程该吃吃该喝喝

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具