线程中yield()、sleep()、wait()、notify()对锁有何影响?

1.yield()

yield()方法仅仅只是让出cpu的执行权,并不会将锁让出

2.sleep()

sleep()方法也不会将锁让出,当我们的线程休眠后,必须等待线程休眠过后,其他线程才可以拿到锁

3.wait()

wait()方法被调用后会释放自己的锁,当被唤醒的时候会继续去竞争锁

4.notify()

notify()方法不会释放锁,只有同步代码块的业务执行完成后才会释放锁,一般该方法放在代码最后一行

发布了18 篇原创文章 · 获赞 4 · 访问量 156

猜你喜欢

转载自blog.csdn.net/weixin_42081445/article/details/104849420
今日推荐