摘要:
1,CopyOnWriteArrayList CopyOnWriteArrayList是java1.5版本提供的一个线程安全的ArrayList变体,ArrayList具有fast-fail特性,它是值在遍历过程中,如果ArrayList的内容发生过修改,那么会抛出ConcurrentModific 阅读全文
摘要:
1,Latch java.util.concurrent.CountDownLatch经常被称为闭锁,它能够使指定线程等待计数线程完成各自工作后再执行。如果提供一个计数为2的CountDownLatch,每执行完一个线程就调用latch的countDown方法把计数器减1,等全部任务执行完成后,la 阅读全文
摘要:
1,Future java.util.concurrent.Future接口提供了线程不会因为等待返回结果而阻塞的能力。 设想一个生活场景,用于需要申请车牌,它在提交了申请之后,与长达数小时的等待过程,在这个过程里,用户可以做自己想做的其他事情,而无需一直在窗口等待车牌制作完成。 在这个过程中,用于 阅读全文
摘要:
在java语言中,可以通过new Thread的方法来创建一个新的线程执行任务,但是线程的创建是非常耗时的,而且创建出来的新的线程都是各自运行,缺乏统一的管理,这样做的后果可能是导致创建过多线程从而过度消耗系统资源,最终导致性能急剧下降,线程池的引入就是为了解决这个问题。 当使用线程池控制线程数量时 阅读全文
摘要:
Executor框架集对线程的调度进行了封装,它把任务的提交与执行进行了解耦,同时,还提供了线程生命周期调度的所有方法,大大简化了线程调度和同步的门槛。 1,Executor接口 java.util.concurrent.Executor是一个接口,这个接口只定义了一个方法execute用于执行已经 阅读全文
摘要:
DelayQueue是一种延迟队列,它所管理的对象必须实现java.util.concurrent.Delayed接口,该接口提供了一个getDelay方法,用于获取剩余的延迟时间,同时该接口继承自Comparable,其compareTo的实现体一般用于比较延迟时间的大小。 DelayQueue是 阅读全文
摘要:
ConcurrentLinkedQueue是一种非阻塞的线程安全队列,与阻塞队列LinkedBlockingQueue相对应,ConcurrentLinkedQueue同样也是使用链表实现的FIFO队列,但不同的是它没有使用任何锁机制,而是用CAS来实现线程安全。 1,成员变量 1 //头结点,tr 阅读全文
摘要:
优先级阻塞队列PriorityBlockingQueue,不是FIFO队列,他要求使用者提供一个Comparetor比较器,或者队列内部元素实现Comparable接口,队头元素会是整个队列里的最小元素。 PriorityBlockingQueue的优先级特性的实现方式和PriorityQueue的 阅读全文
摘要:
维生素(vitamin),是人和动物为维持正常的生理功能而必须从食物中获得的一类微量有机物质,在人体生长、代谢、发育过程中发挥着重要的作用。维生素神经体既不参与构成人体细胞,也不为人体提供能量。 1,特点 (1)维生素或者其前体都在天然食物中存在,但从未有一种天然食物含有人体所需的全部维生素。(2) 阅读全文
摘要:
LinkecBlockQueue链表阻塞队列,从命名可以看出,它是基于链表实现的。同样这也是个先进先出的队列,队头是队列里入队时间最长的元素,队尾则是入队时间最短的。理论上它的吞吐量要超出数组阻塞队列ArrayBlockingQueue。LinkedBlockQueue可以指定容量限制,在没有指定的 阅读全文