![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程
文章平均质量分 79
java并发学习
chengmingchao
知识沉淀,做好复盘。
展开
-
线程池理解
1.线程池的优点1.降低系统资源的消耗:减少线程的创建和销毁2.提高响应速度:任务到来时,可以直接使用线程池中的线程执行,不用等待创建线程3.方便线程的管理:可以控制最大并发数2.JDK提供的创建线程池方式 Executors.newSingleThreadExecutor(); Executors.newFixedThreadPool(3); Executors.newCachedThreadPool(); Executors.newSch原创 2020-09-21 21:15:50 · 82 阅读 · 0 评论 -
Synchronized使用及底层原理
一、Synchronized的基本使用Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。从语法上讲,Synchronized总共有三种用法: (1)修饰普通方法 (2)修饰静态方法 (3)修饰代码块 接下来我就通过几个例子程序来说明一下这三种使用方式(为了便于比较,三段代码除了Synchronized的使用方式不同以转载 2020-08-06 16:51:29 · 86 阅读 · 0 评论 -
Java并发编程volatile关键字理解
Java并发编程volatile关键字理解一、volatile是什么?volatile是jvm提供的轻量级的同步机制,它具有三大特性分别是:保证可见性、禁止指令重排序、不保证原子性。说到这三大特性还得提到JMM(java内存模型)。1、JMM每个线程创建时,jvm都会为其分配一个工作内存,这个工作内存是每个线程私有空间,然而我们定义的所有变量都是存在主内存中,主内存是共享的内存区域,创建的线程都可以访问,但是线程对于变量的操作,必须先将变量从主内存拷贝一份到自己的工作内存,然后才能对其进行操作,操作原创 2020-06-14 17:23:25 · 252 阅读 · 0 评论 -
java并发编程CAS理解
1.CAS是什么CAS就是Compare and Swap,意思是比较并交换,CAS使用了3个值,V内存值,A预期值,B要更新的值,判断内存值是否等于预期值,如果相等则将B更新为内存值。在Java中,使用的是Unsafe类来实现CAS。2.CAS实现 public final int getAndIncrement() { return unsafe.getAndAddInt(this, valueOffset, 1); }以AtomicInteger类为例,其中原创 2020-08-03 22:57:21 · 124 阅读 · 0 评论