什么时候用 Java 自旋锁
发布网友
发布时间:2022-05-01 20:48
我来回答
共1个回答
热心网友
时间:2022-06-23 04:00
所谓自旋锁即死循环去尝试获得锁,直到成功为止。
它的最大的好处,可以避免线程上下文切换。(须知Java线程上下文切换,需要操作系统由用户态到内核态的切换,性能慢是可想而知的)
但是自旋锁也有个不好之处在于,无线死循环消耗CPU, 因而如果等待时间很短就可以获得锁,那么就可以提升程序整体性能。但是如果长时间得不到锁,那得不偿失。还是用wait,让线程上下文切换来工作吧。