Reentrantlock是重量级锁吗?

Synchronized在成为重量级锁时,会导致系统态到用户态的切换。
Reentrantlock会引起系统态到用户态的切换吗?

阅读 6.4k
2 个回答

上面的回答根本就乱讲了
ReentrantLock 也是需要线程挂起的,同样也是需要用到mutex的,怎么就无需操作系统的支持了?

系统态到用户态 是啥?一般说的是 用户态到内核态

Synchronized 需要操作系统级的支持(利用操作系统的互斥量 mutex),所以会有用户态和内核态的切换;而 Reentrantlock 是基于 CAS 在 API 层面上的实现,无需操作系统级的支持,所以不会引发用户态和内核态切换。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题