![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高并发编程
小丶飞飞
这个作者很懒,什么都没留下…
展开
-
java高并发编程——JDK并发容器
一、并发集合简介 JDK的并发容器大部分都在java.util.concurrent包中。1.ConcurrentHashMap:一个高效的HashMap,可以理解为线程安全的HashMap。2.CopyOnWrtieArrayList:与ArrayList相似,在读多谢少的场景中,性能比Vector好很多。3.ConcurrentLinkedQueue:高效的并发队列,使用链表实现,可...原创 2019-07-19 16:59:38 · 171 阅读 · 0 评论 -
java高并发编程(一)——了解并发编程
记录学习并发编程过程中的的笔记和理解,有些实例出自自我总结和书本知识,有错误的地方希望前辈们指出。万分感谢。 ## **一、并发编程的几个重要概念** (1)“同步”(Synchronous)和“异步”(Asynchronous) “同步”方法的调用,调用者必须等到方法调用返回后才能继续后续的操作。‘’异步”方法调用之后立即返回,调用者可以继续后续的操作。两者的差别可以用生活中的实...原创 2019-02-21 17:13:15 · 188 阅读 · 0 评论 -
java高并发编程(二)——了解线程
java并行程序基础一、线程与线程的状态在学习java的过程中已经接触过很多有关线程的概念了,主要记录一下线程的机中状态,以及状态之间的切换。...原创 2019-02-22 17:22:34 · 250 阅读 · 0 评论 -
java高并发编程(三)——线程基础知识
java线程基础知识一、volatile关键字 为了确保线程具有原子性,可见性,有序性的特点,java使用了一些特殊的操作和关键字来申明某些数据要特别注意。volatile就是其中之一。 当用volatile去声明一个变量的时候,就相当于告诉虚拟机,该变量很有可能被某些线程修改,确保该线程被修改后,相关线程都能清楚这一改动。但是volatile并不能代替锁,它不能保证一些复杂操作的原子性...原创 2019-02-26 16:41:17 · 110 阅读 · 0 评论 -
java高并发编程(四)——JDK并发包
一、同步控制(lock的使用) 重入锁(lock)可以完全替代synchronized关键字,重入锁的性能要优于synchronized,但是在JDK 6.0开始,JDK对synchronized上做了大量优化,因此两者差距不大。下面是使用lock的案例。public class LockTest implements Runnable { private static Lock loc...原创 2019-03-01 14:37:08 · 268 阅读 · 0 评论 -
java高并发编程(五)——线程池
一、什么是线程池 多线程编程可以很大程度上的运用cpu资源。但是线程数量过大时,频繁的创建和销毁线程,会占用很多cpu和内存资源,从而影响系统稳定性,降低代码效率。为了避免频繁的创建和销毁线程,可以让现场进行复用,线程池就满足了这一需求。线程池中存在着创建好的很多线程,这些线程处于空闲状态,当程序需要使用线程时,从线程池中取几个空闲线程。当任务完成后,线程并不立即关闭,而是将线程退还给线程池,...原创 2019-03-11 14:54:25 · 275 阅读 · 0 评论