LockSupportLockSupport 线程等待和唤醒方法 了解LockSupport前,先回顾2种让线程等待和唤醒的方法 方式一 使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程 异常情况一 如果去掉synchronized,即不在synchronized关键字方法中使用wait() 和 notify() 方法将抛出 javMr.LR2022年6月6日java并发编程juc并发编程大约 4 分钟
CAS和原子类cas和原子类 " JUC中多数类是通过volatile和CAS来实现的,CAS本质上提供的是一种无锁方案,而Synchronized和Lock是互斥锁方案; java原子类本质上使用的是CAS,而CAS底层是通过Unsafe类实现的。所以本章将对CAS, Unsafe和原子类详解。" cas是什么 compare and swap的缩写,中文翻译成比较并交Mr.LR2022年5月15日java并发编程juc大约 11 分钟
volatile与Java内存模型volatile与Java内存模型 " volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。" JavMr.LR2022年5月12日java并发编程juc大约 17 分钟
CompletableFutureCompletableFuture Future和Callable接口 " 了解CompletableFuture需先了解下Future和Callable接口" Future Future接口代表异步计算的结果,通过Future接口提供的方法可以查看异步计算是否执行完成,或者等待执行结果并获取执行结果,同时还可以取消执行。Future接口的定义如下: canMr.LR2022年5月6日java并发编程juc并发编程异步调用大约 7 分钟
juc入门篇(上)juc入门篇(上) 1、juc是什么 1.1java.util.concurrent在并发编程中使用的工具类 1.2进程/线程 1.2.1进程/线程是什么 进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 线程:通常在一个进程中可以包含若干个Mr.LR2022年4月5日java并发编程juc并发编程大约 19 分钟
juc入门篇(下)juc入门篇(下) 1、JUC强大的辅助类讲解 1.1 CountDownLatch(减少计数) 1.1.1原理 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞。; 其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞),; 当计数器的值变为0时,因await方法阻塞Mr.LR2022年4月5日java并发编程juc并发编程大约 14 分钟