搜索结果
查询Tags标签: JUC,共有 172条记录-
Java高并发专题之30、JUC中的CompletableFuture
目录CompletableFuture是java8中新增的一个类,算是对Future的一种增强,用起来很方便,也是会经常用到的一个工具类,熟悉一下。 CompletionStage接口 CompletionStage代表异步计算过程中的某一个阶段,一个阶段完成以后可能会触发另外一个阶段一个阶段的计算执行可以是一…
2022/5/5 1:13:10 人评论 次浏览 -
Java高并发专题之16、JUC中的CountDownLatch
本篇内容 介绍CountDownLatch及使用场景提供几个使用示例介绍CountDownLatch的使用手写一个并行处理任务的工具类 思考一个需求假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解…
2022/5/4 22:14:44 人评论 次浏览 -
Java高并发专题之14、JUC中的LockSupport工具类
本文主要内容 讲解3种让线程等待和唤醒的方法,每种方法配合具体的示例介绍LockSupport主要用法对比3种方式,了解他们之间的区别 LockSupport位于java.util.concurrent(简称juc)包中,算是juc中一个基础类,juc中很多地方都会使用LockSupport,非常重要,希望大家一定要…
2022/5/4 22:14:19 人评论 次浏览 -
Thread & JUC
线程简介 普通方法调用和多线程程序、进程、线程一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配…
2022/5/4 6:20:12 人评论 次浏览 -
多线程JUC并发篇常见面试详解
@目录1、JUC 简介2、线程和进程3、并非与并行4、线程的状态5、wait/sleep的区别6、Lock 锁(重点)1、Lock锁2、公平非公平:3、ReentrantLock 构造器4、Lock 锁实现步骤:7、synchronized 和 lock 锁的区别8、生产者和消费者问题(通信问题)1、Synchronized 版本2、JUC …
2022/4/16 23:13:24 人评论 次浏览 -
java多线程-补充-面试
1.背景 在这个课程之前我们已经讲了2个关于多线程的课程 一个是主要是关于多线程基础的: 另一个主要是关于JUC的: 今天我们对之前课程中没有讲到的或者重要的或者是童鞋们反馈的技术点做一个补充讲解 当然,多线程是编程中非常重要的技术点,不是几个课程就能学完的, 只能说…
2022/2/26 17:52:05 人评论 次浏览 -
【Beautiful JUC Part.6】CAS 不可中断的典范
【Beautiful JUC Part.6】CAS 不可中断的典范 一、什么是CAS运用场合:并发场景,实现不能被打断的交换操作 主要思路:我认为V的值应该是A,如果是的话那我就把它改成B,如果不是A(说明被别人修改过了),那我就不修改了,避免多人同时修改导致出错。 CAS有三个操作数:…
2022/2/10 6:13:43 人评论 次浏览 -
【Beautiful JUC Part.1】建立起Java并发体系的大厦
【Beautiful JUC Part.1】建立起Java并发体系的大厦 思维导图地址 https://darkerg.lanzout.com/iNtK0zmosmb 密码:91bb一、并发工具类的分类为了并发安全:互斥同步、非互斥同步、无同步方案 管理线程、提高效率 线程协作二、为了线程安全(从底层原理来分类)1、互斥同步…
2022/2/5 20:13:02 人评论 次浏览 -
JUC练习15——JMM(java内存模型)
链接:https://blog.csdn.net/weixin_44841312/article/details/120911816 一,什么是JMM? 它是一种java内存中数据存储的的协议规则:规定了内存是所有线程共有的,每个线程都有自己的工作内存,当进程需要使用数据时会去内存中读取数据放入自己的工作内存,然后对工作内…
2022/2/3 7:12:29 人评论 次浏览 -
JUC练习17——锁
一,公平锁和非公平锁 公平锁:先来先执行,不能插队 非公平锁:可以插队,默认是非公平锁public ReentrantLock() {sync = new NonfairSync();}public ReentrantLock(boolean fair) {sync = fair ? new FairSync() : new NonfairSync();} 二,可重入锁(递归锁) 拿到外…
2022/2/3 6:13:32 人评论 次浏览 -
JUC练习11——四大函数式接口
一,基本介绍接口 参数 返回值 方法 作用Function<T, R>函数型接口T RR apply(T t);对类型T的参数进行操作,返回类型为R的数据Predicate<T>断定型接口T booleanboolean test(T t);判断传入的参数是否满足某种条件Consumer<T>消费型接口T voidvoid acce…
2022/2/1 23:39:43 人评论 次浏览 -
【JUC并发编程05】集合的线程安全
文章目录 5 集合的线程安全5.1 集合线程不安全演示5.2 解决方案-Vector5.3 解决方案-Collections5.4 解决方案-CopyOnWriteArrayList5.5 对上述三种方式的总结5.6 HashSet的线程不安全5.7 HashMap的线程不安全5 集合的线程安全 5.1 集合线程不安全演示 在学习集合线程安全…
2022/1/31 17:40:51 人评论 次浏览 -
【JUC并发编程04】线程间定制化通信(单标志法存在的问题)
文章目录 4 线程间定制化通信案例实现该案例需要注意4 线程间定制化通信 案例实现案列:启动三个线程,按照如下要求: AA打印5此,BB打印10次,CC打印15次,一共进行10轮具体思路: 每个线程添加一个标志位,是该标志位则执行操作,并且修改为下一个标志位,通知下一个标…
2022/1/31 17:40:38 人评论 次浏览 -
JUC并发编程-锁分类
锁分类 公平和非公平锁 并发包中ReentrantLock的创建可以指定构造函数的boolean类型来决定是公平锁还是非公平锁,默认是非公平锁公平锁公平锁,在并发环境下,每个线程在获取锁的时候会去查看此锁维护的等待队列,如果为空,或者当前线程为等待队列的第一个,就占有锁,否…
2022/1/29 11:34:16 人评论 次浏览 -
JUC并发编程之CAS操作及底层实现
概念 CAS全称是Compare And Swap,意为比较并交换,是CPU的原子操作CAS是一种抽象思想,并不是一种具体实现.CAS操作有三个参数,待修改值的内存地址,期望值,新值主要思想是判断内存中某个位置的值是否等于期望值,如果等于则使用新值交换旧值,不等于则修改失败CAS非阻塞同步的…
2022/1/24 20:06:22 人评论 次浏览