我有点困惑。我在某处读到Thread.yield()方法会导致当前正在运行的线程暂停,并给“相同优先级”的剩余线程一个机会。
现在总是执行相同优先级的线程,或者也可以执行更高优先级的线程。假设当前运行的线程在某个对象上有锁,那么在执行yeild方法后,它会给出它的锁吗?
发布于 2011-11-19 11:45:12
调用Thread.yield()时,当前线程会暂停,并允许调度程序运行不同的线程。优先级由调度程序管理。
不,当然不是-你不能释放任何锁。这样做会破坏同步。
https://stackoverflow.com/questions/8191700
复制相似问题