JUC并发编程
@Eleven
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱,加油!
展开
-
27、JUC:ForkJoin入门
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!1、什么是ForkJoin?2、ForkJoin 特点:工作窃取这个里面维护的都是双端队列。3、ForkJoinjava代码示例:package com.function;import jdk.nashorn.internal.ir.CallNode;import java.util.concurrent.Recu原创 2020-11-29 17:22:12 · 172 阅读 · 0 评论 -
26、JUC:Stream流式计算
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!1、什么是流式计算?java案例:package com.stream;import java.util.Arrays;import java.util.List;/** * Created by zjl * 2020/11/25 **//*** 题目要求:一分钟内完成此题,只能用一行代码实现! * 现在有5个用原创 2020-11-25 17:25:59 · 155 阅读 · 0 评论 -
25、JUC:消费型接口、供给型接口
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!1、消费型接口:java代码package com.function;/** * Created by zjl * 2020/11/25 **/import java.util.function.Consumer;/*** Consumer 消费型接口: 只有输入,没有返回值 */public class Demo原创 2020-11-25 16:38:12 · 347 阅读 · 0 评论 -
24、JUC:函数型接口和断定型接口
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!1、Function函数式接口java代码package com.function;import java.util.function.Function;/** * Created by zjl * 2020/11/25 **//*** Function 函数型接口, 有一个输入参数,有一个输出 * * 只要是原创 2020-11-25 16:19:32 · 234 阅读 · 0 评论 -
23、JUC:cpu密集型和io密集型
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!线程池的最大值应该设置为多大?1、CPU 密集型看自己服务器是几核,几核就设置几,可以保持CPu的效率最高!2、IO 密集型当你程序中有十分耗IO的线程。设置的线程最大值 > 十分耗IO的线程数。代码如何获取CPU的核数public class Test3 { public static void ma原创 2020-11-25 15:06:23 · 223 阅读 · 0 评论 -
22、JUC:7大参数及自定义线程池
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!线程池三种创建方式源码实际都是通过创建ThreadPoolExecutor来创建线程池public static ExecutorService newSingleThreadExecutor() { return new FinalizableDelegatedExecutorService (原创 2020-11-25 14:53:28 · 165 阅读 · 0 评论 -
21、JUC:池化技术与线程池使用
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!三大方法,代码示例1、newSingleThreadExecutorpackage com.add;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * Created by zjl * 2020/原创 2020-11-25 13:44:07 · 124 阅读 · 0 评论 -
20、JUC:同步队列-SynchronousQueue
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!同步队列-SynchronousQueue解释:java代码示例:package com.add;import java.util.concurrent.BlockingQueue;import java.util.concurrent.SynchronousQueue;import java.util.concurrent.原创 2020-11-25 13:19:13 · 141 阅读 · 0 评论 -
19、JUC:BlockingQueue四组API
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!前言:BlockingQueue四组API如图所示,这样看可能看不太懂,我们分别用代码演示一下。1、add、remove、element代码示例1、add、remove正常的使用package com.add;import java.util.concurrent.ArrayBlockingQueue;/** * Cre原创 2020-11-25 12:14:52 · 214 阅读 · 1 评论 -
18、JUC:阻塞队列BlockingQueue
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!什么情况下我们会使用 阻塞队列?多线程并发处理,线程池!原创 2020-11-24 20:25:20 · 218 阅读 · 0 评论 -
17、JUC:ReadWriteLock
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!前言:我们自己定义一个缓存类,然后模拟并发写入,并发读取,看是否会存在并发问题。package com.add;import java.util.HashMap;import java.util.Map;/** * Created by zjl * 2020/11/24 **/public class ReadWrite原创 2020-11-24 17:57:37 · 173 阅读 · 0 评论 -
16、JUC:Semaphore-计数信号量
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!java代码示例:package com.add;import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;/** * Created by zjl * 2020/11/24 **/public class SemaphoreDe原创 2020-11-24 16:35:32 · 195 阅读 · 0 评论 -
15、JUC:CyclicBarrier-加法计数器
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!1、java代码:package com.add;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/** * Created by zjl * 2020/11/24 **/public原创 2020-11-24 15:53:32 · 202 阅读 · 0 评论 -
14、JUC:CountDownLatch-减法计数器
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!java代码示例package com.add;import java.util.concurrent.CountDownLatch;/** * Created by zjl * 2020/11/24 **/public class CountDownLatchDemo { public static void m原创 2020-11-24 15:11:59 · 204 阅读 · 0 评论 -
13、JUC:走进Callable
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!java代码示例package com.unsafe;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * Create原创 2020-11-24 14:48:39 · 201 阅读 · 0 评论 -
12、JUC:ConcurrentHashMap
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=13欢迎大家支持噢,很良心的老师了!常用的hashmap存在并发安全问题package com.unsafe;import java.util.HashMap;import java.util.UUID;import java.util.concurrent.ConcurrentHashMap;/** * Created by zjl * 2020/11/2原创 2020-11-24 13:21:37 · 218 阅读 · 0 评论 -
11、JUC:CopyOnWriteArraySet
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!普通的set是线程不安全的,如下package com.unsafe;import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;import java.util.concurrent.CopyOnWriteArraySet;/** * Created原创 2020-11-23 21:51:02 · 253 阅读 · 0 评论 -
10、JUC:CopyOnWriteArrayList
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?t=194&p=11欢迎大家支持噢,很良心的老师了!1、常用的ArrayList是存在并发安全问题的package com.unsafe;import java.util.ArrayList;import java.util.List;import java.util.UUID;/** * Created by zjl * 2020/11/23 **/原创 2020-11-23 21:26:48 · 361 阅读 · 1 评论 -
9、JUC:八锁现象彻底理解锁
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=10欢迎大家支持噢,很良心的老师了!现象1:先打印发短信,还是打电话?java代码package com.zjl;import java.util.concurrent.TimeUnit;/** * Created by zjl * 2020/11/20 **/public class Test4 { public static void main原创 2020-11-23 10:13:32 · 230 阅读 · 0 评论 -
8、JUC:Condition实现精准通知唤醒
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=9欢迎大家支持噢,很良心的老师了!java代码package com.zjl;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * Creat原创 2020-11-20 18:05:21 · 277 阅读 · 0 评论 -
7、JUC:Lock版的生产者和消费者问题
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!和synchronized的比较java代码package com.zjl;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantL原创 2020-11-20 16:43:15 · 203 阅读 · 0 评论 -
6、JUC:synchronized版生产者消费者问题,防止虚假唤醒问题
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!线程通信案例:package com.zjl;/** * Created by zjl * 2020/11/20 **//** 1、线程之间的通信问题:生产者和消费者问题!* 2、线程交替执行,A B 操作同一个变量 num = 0* 3、A num+1* 4、B num-1* */public class原创 2020-11-20 15:39:30 · 250 阅读 · 0 评论 -
5、JUC: synchronized 和 Lock 的区别
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!原创 2020-11-20 14:07:39 · 144 阅读 · 0 评论 -
4、JUC:Lock锁
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!java代码示例:package com.zjl;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * Created by zjl * 2020/11/19 **//** 真正的多线原创 2020-11-20 13:04:07 · 208 阅读 · 0 评论 -
3、JUC:传统的synchronized
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!1、java代码,不加synchronized,有线程安全问题package com.zjl;/** * Created by zjl * 2020/11/19 **//** 真正的多线程开发,公司中的开发* 线程就是一个单独的资源类,没有任何附属的操作!* 1、属性 2、方法* */public class Sa原创 2020-11-20 12:08:23 · 226 阅读 · 0 评论 -
2、JUC:回顾多线程
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!1、线程的状态public enum State { //新生 NEW, //运行 RUNNABLE, //阻塞 BLOCKED, //等待,死死地等 WAITING, //原创 2020-11-19 19:12:49 · 89 阅读 · 0 评论 -
1、JUC:线程和进程
学习过程观看视频:[狂神说Java]https://www.bilibili.com/video/BV1B7411L7tE?p=2欢迎大家支持噢,很良心的老师了!java真的可以开启线程吗?答:开不了,是调用本地方法开启的线程,调用本地c++开启的线程,java无法直接操作硬件并发和并行运行结果...原创 2020-11-19 18:47:10 · 105 阅读 · 0 评论