java的并发包

来源:互联网 发布:java文件断点续传 编辑:程序博客网 时间:2024/06/07 10:05

什么是java的并发包??在jdk5之后,java对并发处理进行了新一轮的优化。
集合类实现了线程安全,ConcurrentHashMap就是线程安全的HashMap。

首先需要了解什么是java的中断机制:

传送门:
http://ifeve.com/java-interrupt-mechanism/

有了传送机制,我们就可以实现可重入锁了,ReentrantLock

传送门:
http://blog.csdn.net/eclipser1987/article/details/7301828

并发包使用的是reentrantlock 而不是我们常见的synchronized。我们来比较下他俩的区别:

传送门:
http://uule.iteye.com/blog/1488356

了解了以上,我们来看一下java的并发包。

传送门:
http://www.cnblogs.com/huangfox/archive/2012/08/16/2642666.html

  • ConcurrentHashMap是线程安全的HashMap的实现
  • CopyOnWriteArrayList是一个线程安全、并且在读操作时无锁的ArrayList
  • CopyOnWriteArraySet是基于CopyOnWriteArrayList的,可以知道set是不容许重复数据的,因此add操作和CopyOnWriteArrayList有所区别,他是调用CopyOnWriteArrayList的addIfAbsent方法。
  • ArrayBlockingQueue是一个基于数组、先进先出、线程安全的集合类,其特点是实现指定时间的阻塞读写,并且容量是可以限制的。

总结下:使用并发包就是在读/写操作是,使用了可重入锁,这样可以保证数据的一致性和线程安全。

0 0
原创粉丝点击