Archive | 四月, 2015

跨界看项目那些事儿

年底了,该总结了。例行的招呼几个项目负责人对几个项目执行情况进行总结,项目上中实践比较成功的,记录细节,评估其他项目借鉴的可能性;项目上存在的问题,重点一起剖析下。由表面现象,到深层次的原因,力图通过讨论或争论都能有一致的认识,形成改进。但希望是理解了改进,而不是被要求改进。为了更生动的说明自己的观点,作为主持人的笔者准备了一个大家都比较熟悉的例子,公司附近的一个工地上项目。居然发现效果很好,新鲜,生动,容易被大家理解和引起共鸣。也是,在批判自己的过程中,肆无忌惮的给第三方挑毛病的确是很爽的一件事情!笔者在进入软件这个行当之前干的就是在铁路工地上干活的,经常不自觉的把这两种项目拿来比较。虽然看上去是有点跨界,其实也差别不大,项目那些事儿无非就如何把一组人组织起来有效的完成一件事情,达到规划的目标,做出一个有用的东西。因此,存在的问题和问题产生的原因也差不多。

例子中的这个项目是公司附[......]

阅读全文

Tags: , ,

Comments { 1 }

源码剖析AQS在几个同步工具类中的使用

1. 前言

AQS(AbstractQueuedSynchronizer)是 java.util.concurrent的基础。J.U.C中宣传的封装良好的好用的同步工具类SemaphoreCountDownLatchReentrantLockReentrantReadWriteLockFutureTask等虽然各自都有不同特征,但是简单看一下源码,每个类内部都包含一个如下的内部类定义:

AQS_hierachy

同时每个类内部都包含有这样一个属性,连属性名都一样!注释已经暗示了,该类的同步机制正是通过这个AQS的子类来完成的。不得不感叹:“每个强大的同步工具类,内心都有一把同样的锁!

几种同步类提供的功能其实都是委托sync来完成。有些是部分功能,有些则是全[......]

阅读全文

Tags: , , ,

Comments { 4 }