锁
福龙楼主
这个作者很懒,什么都没留下…
展开
-
多线程相关概念整理
一、为什么要使用多线程(并发与并行) 如果仅针对单核CPU,多线程适合于任务执行期间需要等待返回结果的场景。一个任务进入等待后,CPU进入空闲,这时把CPU资源分配给其他线程执行。这个多个任务在单CPU上的切换,就是并发。CPU在线程上切换的时间一般小于任务等待的时间,所以多个线程并发执行会提高程序执行效率。而对于多核CPU或者多个CPU的,CPU除了并发外,多个CPU上不同线程还能同时的原创 2017-11-07 11:41:32 · 351 阅读 · 0 评论 -
偏向锁、轻量级锁、重量级锁
Java SE1.6为了减少获得锁和释放锁所带来的性能消耗,引入了“偏向锁”和“轻量级锁”的概念,所以在Java SE1.6里锁一共有四种状态:无锁状态,偏向锁状态,轻量级锁状态和重量级锁状态,它会随着竞争情况逐渐升级。锁可以升级但不能降级,这种策略目的是为了提高获得锁和释放锁的效率。偏向锁 Hotspot的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总原创 2017-10-26 16:44:13 · 380 阅读 · 0 评论