Reentrantlock是重量级锁吗?
Synchronized在成为重量级锁时,会导致系统态到用户态的切换。
Reentrantlock会引起系统态到用户态的切换吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Synchronized在成为重量级锁时,会导致系统态到用户态的切换。
Reentrantlock会引起系统态到用户态的切换吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
上面的回答根本就乱讲了
ReentrantLock
也是需要线程挂起的,同样也是需要用到mutex的,怎么就无需操作系统的支持了?系统态到用户态
是啥?一般说的是用户态到内核态
。Synchronized
需要操作系统级的支持(利用操作系统的互斥量mutex
),所以会有用户态和内核态的切换;而Reentrantlock
是基于 CAS 在 API 层面上的实现,无需操作系统级的支持,所以不会引发用户态和内核态切换。