研究问题,就要先确定问题是什么,什么是并发,并发即同步。举个例子,医院有一个窗口办理挂号手续,这时候一下子来了三个人都要挂号,怎么处理?这就是并发问题。问题明确了,解决方案其实也就有了,第一种是让他们排队(下面重点也是讲的这个),第二种就是多开几个窗口,第三种就是换个熟手去办理挂号业务(即提升单个窗口的办理业务能力)。
下面开始正题
通常来说解决并发问题我们用的都是第一种方法,队列。java有一个接口:阻塞队列BlockingQueue。包括安卓的Handler,推送的服务端,java的线程池等等需要解决并发问题的地方,都用到了这个队列。还有听说过没见过用过的连接池技术,我猜想应该也是同样的或者差别不大的方式去实现的。
BlockingQueue有几个实现类 因为网上有很多资料,这里我就不再造轮子了
贴个我学习的时候看的资料http://blog.csdn.net/kobejayandy/article/details/46834037 同时感谢这个作者