Synchronized在成为重量级锁时,会导致系统态到用户态的切换。
Reentrantlock会引起系统态到用户态的切换吗?
系统态到用户态
是啥?一般说的是 用户态到内核态
。
Synchronized
需要操作系统级的支持(利用操作系统的互斥量 mutex
),所以会有用户态和内核态的切换;而 Reentrantlock
是基于 CAS 在 API 层面上的实现,无需操作系统级的支持,所以不会引发用户态和内核态切换。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
上面的回答根本就乱讲了
ReentrantLock
也是需要线程挂起的,同样也是需要用到mutex的,怎么就无需操作系统的支持了?