Java: 线程被synchronized和reentrantlock等阻塞时让出cpu不?

看到有说法,通常线程让出cpu

调用Thread.currentThread().yield();IO阻塞Sleep,  wait线程结束

那么线程被synchronized和reentrantlock等阻塞时让出cpu不?


翻过高山走不出你
浏览 808回答 1
1回答

桃花长相依

不一定,jvm采用了一些锁优化策略,比如自旋锁,这就不会放弃cpu。如果自旋时间到了仍然未能获得锁就会放弃cpu真正阻塞。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java