java 并发实践
abing37
这个作者很懒,什么都没留下…
展开
-
【java并发】基于JUC CAS原理,自己实现简单独占锁
synchronized的基本原理回顾 在jvm内部,所有对象都含有单一的锁,jvm负责跟踪监视被加锁次数,叫做对象监视器。当线程第一次给对象加锁的时候,计数器会加1,离开时会减1.同样任务是可重入的,每次重入也是加1,离开减1. synchronized是独占式的,拿到对象锁才能继续,没有获取到锁就会阻塞。 JUC CAS乐观锁基本原理 synchronized就是一种独占锁,会导致...2012-02-14 13:47:56 · 240 阅读 · 0 评论 -
【java并发】juc高级锁机制探讨
最近在看一些juc相关的设计和源码,接上文 :【java并发】基于JUC CAS原理,自己实现简单独占锁 本文探讨一下juc里面提供的一些高级锁机制和基本原理。 JUC高级锁机制简介 Juc 提供了高级锁的一些特性和应用,如: ReentrantLock :和 synchronized 具有差不多的语义,独占锁,同时只有一个线程能...2012-02-23 00:52:45 · 160 阅读 · 0 评论 -
【java并发】juc Executor框架详解
Executor 框架是 juc 里提供的线程池的实现。前两天看了下 Executor 框架的一些源码,做个简单的总结。 线程池大概的思路是维护一个的线程池用于执行提交的任务。我理解池的技术的主要意义有两个: 1. 资源的控制,如并发量限制。像连接池这种是对数据库资源的保护。 2. 资源的有效利用,如线程复用,避免频繁创建线程和线程上下文切换...2012-02-26 13:55:32 · 356 阅读 · 1 评论