2019年8月18日

Java并发编程:Callable、Future和FutureTask

摘要: 一.Callable与Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: 由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何结果。 Callable位于java.util.concurrent包下,它也是一个接口 阅读全文

posted @ 2019-08-18 22:48 情陌人灬已不在 阅读(139) 评论(0) 推荐(0)

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

摘要: 一.CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch 阅读全文

posted @ 2019-08-18 22:17 情陌人灬已不在 阅读(125) 评论(0) 推荐(0)

并发容器之CopyOnWriteArrayList

摘要: Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现 阅读全文

posted @ 2019-08-18 18:41 情陌人灬已不在 阅读(154) 评论(0) 推荐(0)

并发容器之ConcurrentHashMap

摘要: JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开 始针对多线程并发访问设计,提供 阅读全文

posted @ 2019-08-18 18:37 情陌人灬已不在 阅读(215) 评论(0) 推荐(0)

ConcurrentModificationException异常原因和解决方法

摘要: 一.ConcurrentModificationException异常出现的原因 先看下面这段代码: 运行结果: 从异常信息可以发现,异常出现在checkForComodification()方法中。 我们不忙看checkForComodification()方法的具体实现,我们先根据程序的代码一步 阅读全文

posted @ 2019-08-18 18:13 情陌人灬已不在 阅读(343) 评论(0) 推荐(0)

Java并发编程:同步容器

摘要: 一.为什么会出现同步容器? 在Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map。 List、Set、Queue接口分别继承了Collection接口,Map本身是一个接口。 注意Collection和Map是一个顶层接口,而List、Set、Queue则继承了Colle 阅读全文

posted @ 2019-08-18 16:41 情陌人灬已不在 阅读(166) 评论(0) 推荐(0)

导航