![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC并发编程
文章平均质量分 70
Lin_XXiang
永远别做一个懒狗,优秀的人都比你努力!!!
展开
-
AQS的初步理解
对于AQS的初步理解原创 2023-04-20 16:57:04 · 112 阅读 · 0 评论 -
CAS(compare and swap)
1、什么是CAS?2、ABA问题(两类)3、AtomicStampReference(带Stamp的原子引用)原创 2021-11-14 22:18:00 · 1950 阅读 · 0 评论 -
单例模式(饿汉式,DCL懒汉式)
1、饿汉式2、懒汉式,DCL懒汉式3、单例不安全(枚举解决)原创 2021-11-14 16:06:36 · 982 阅读 · 0 评论 -
Volatile
Volatile是Java虚拟机提供轻量级的同步机制保证可见性 不保证原子性 禁止指令重排可见性可见性与Java的内存模型(JMM)有关,模型采用缓存与主存的方式对变量进行操作,也就是说,每个线程都有自己的缓存空间,对变量的操作都是在缓存中进行的,之后再将修改后的值返回到主存中,这就带来了问题,有可能一个线程在将共享变量修改后,还没有来的及将缓存中的变量返回给主存中,另外一个线程就对共享变量进行修改,那么这个线程拿到的值是主存中未被修改的值,这就是可见性的问题。...原创 2021-11-08 15:12:04 · 208 阅读 · 0 评论 -
JMM (java内存模型)
关于JMM的一些同步约定:线程解锁钱,必须把共享变量立刻刷回主存。(线程访问主存的变量时,先把主存中的变量复制一份到自己线程的工作内存中,线程真正操作的是自己工作内存中的值。) 线程加锁前,必须读取主存中的最新值到工作内存中! 加锁和解锁是同一把锁线程 =>工作内存 => 主内存内存交互操作有8种,虚拟机实现必须保证每一个操作都是原子的,不可在分的(对于double和long类型的变量来说,load、store、read和write操作在某些平台上允许例外)lock ...原创 2021-11-07 10:12:35 · 96 阅读 · 0 评论 -
异步回调CompletableFuture
异步回调(Future的实现类)* 异步调用:Ajax 异步执行-成功回调-失败回调* CompletableFuture 是我们的异步回调 异步执行-成功回调-失败回调使用 runAsync 这个方法就是没有返回值的!public static void test1() throws ExecutionException, InterruptedException { //发起一个请求 <Void>:表示没有返回值 runAsync异步回调,没有返回值.原创 2021-11-02 10:15:53 · 260 阅读 · 0 评论 -
JUC并发编程
多线程进阶=>JUC并发编程1、线程和进程线程、进程,如果不能用一句话输出来的技术、不扎实进程:一个程序,QQ.exe Music.exe 程序的集合;一个进程往往可以包含多个线程,至少包含一个线程!Java默认有几个线程? ---2个线程:main线程,GC线程线程:开了一个线程Typora,写字自动保存(线程负责)对于Java而言:Thread、Runnable、CallableJava真的可以开启线程吗? --->不行 public sync..原创 2021-10-23 16:37:00 · 158 阅读 · 0 评论