E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JUC高并发编程
JUC
之ReentrantReadWriteLock
读写锁现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。针对这种场景,JAVA的并发包提供了读写锁ReentrantReadWriteLock,它表示两个锁,一个是读操作相关的锁,称为共享锁;一个
Chancezhou
·
2023-10-14 09:52
JUC
java
JUC
之BlockingQueue
常见的BlockingQueue9.4.1ArrayBlockingQueue(常用)基于数组的阻塞队列实现,在ArrayBlockingQueue内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQueue内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。ArrayBlockingQueue在生产者放入数据
Chancezhou
·
2023-10-14 09:52
JUC
java
项目实战:使用
JUC
的CompletableFuture执行任务,并根据返回值执行异步回调
前言程序猿大吉在实施的威逼之下又有了新的需求,翻译成技术语言,大致是这样的:不停地调用一个远程接口(成千上万次)。该接口会返回一串id,并拿着这个id回写我们本地的数据库。这个远程接口响应时间特别久,大概要1到3s。而一旦接口返回一串id,并将id回写到本地数据库,这个过程比较短,只需要0.05s左右。所以我想到了将查询远程接口封装成一个函数,将回写本地数据库封装成一个函数,将异常处理封装成一个函
@大吉
·
2023-10-14 09:21
JavaSE
线程池
多线程
异步
回调函数
JUC
JUC
高并发编程
之CompletableFuture
1、Future和Callable接口Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Callable接口中定义了需要有返回的任务需要实现的方法为什么使用异步任务?当主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,过了一会才去获取子任务的执行结果。2、Futur
HEU_THY
·
2023-10-14 09:50
java
JUC
-CompletableFuture异步回调
1.无返回值的runAsync异步回调2.有返回值的supplyAsync异步回调publicclassCompletableFuture_{publicstaticvoidmain(String[]args)throwsException{//没有返回值的异步回调runAsync()CompletableFuturecompletableFuture1=CompletableFuture.run
知之为知
·
2023-10-14 09:50
Java
java
java
juc
之CompletableFuture
supplyAsync/runAsync开启任务thenComposeAsync连接任务thenCombineAsync合并任务一、创建异步任务@Testpublicvoidtest4()throwsException{ExecutorServiceexecutorService=Executors.newFixedThreadPool(5);//supplyAsync相当于ExecutorSer
死亡蔓延
·
2023-10-14 09:20
java本身
java
JUC
之 CompletableFuture
——CompletableFutureFutureFuture接口(FutureTask实现类)定义了操作异步任务执行的一些方法,如获取异步的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕例如:主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,忙其他事情或者先执行完,过了一会才去获取子任务的执行结果或变更的任务状态Future接
程序少年不秃头
·
2023-10-14 09:20
Java
java
jvm
开发语言
JUC
并发编程之CompletableFuture基础用法
目录实现多线程的四种方式方式一:继承Thread类方式二:实现Runnable接口方式三:实现Callable接口方式四:线程池创建异步对象回调方法handle方法线程串行化任务组合组合任务单任务完成及执行实现多线程的四种方式方式一:继承Thread类publicstaticclassThread01extendsThread{@Overridepublicvoidrun(){}}执行任务方式:T
算不出来没办法
·
2023-10-14 09:19
java
java
开发语言
Java ---
JUC
的CompletableFuture的使用
目录一、Future接口二、Future接口的功能三、FutureTask四、CompletableFuture背景及使用4.1、CompletionStage4.2、CompletableFuture4.3、四个静态方法4.4、减少阻塞和轮询4.5、使用CompletableFuture完成电商大比价五、CompletableFuture常用API5.1、获取结果5.2、主动触发计算5.3、对计
鸭鸭老板
·
2023-10-14 09:17
JUC
面试
java
开发语言
JUC
-CompletableFuture的常用方法
1.获得结果和触发计算2.对计算结果进行处理thenApply()和handle()的区别就是异常的处理方式不同publicstaticvoidmain(String[]args){Integerresult=CompletableFuture.supplyAsync(()->{return1;},executor).thenApply((f->{returnf+2;})).thenApply(f
花哥码天下
·
2023-10-14 09:16
多线程
java
JUC
-CompletableFuture
FutureTaskpublicstaticvoidmain(String[]args)throwsException{FutureTaskfutureTask=newFutureTask{System.out.println(Thread.currentThread().getName()+"comein");try{TimeUnit.SECONDS.sleep(5);}catch(Interr
花哥码天下
·
2023-10-14 09:46
面试
多线程
java
JUC
学习:CompletableFuture概念与实战
在一些简单的业务场景使用Future创建异步任务是完全足够的。当业务场景比较复杂时,推荐使用CompletableFuture。CompletableFuture同时实现了Future、CompletionStage两个接口。CompletionStage代表异步计算过程的某一个阶段,一个阶段完成后则会触发另一个阶段。一、CompletableFuture与Future的对比1.获取异步任务的结果
哇库哇库wakuwaku
·
2023-10-14 09:46
JUC高并发编程
学习
java
spring
JUC
之 completableFuture
前身Future作用定义了操作异步任务执行的一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务执行是否完毕等。专门用来为主线程处理耗时的任务特点多线程有返回值异步处理实现类FutureTask代码示例publicclassFutureThread{publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedE
洋葱圈骑士
·
2023-10-14 09:45
java
jvm
前端
JUC
—CompletableFuture笔记
CompletableFuture笔记1.Future和Callable接口2.FutureTask3.引出CompletableFuture3.1CompletableFuture和CompletionStage介绍3.2核心的四个静态方法,来创建一个异步操作1)runAsync无返回值2)supplyAsync()有返回值3.3案例精讲-从电商网站的比价需求说开去3.4说说join和get对比
风过无痕2018
·
2023-10-14 09:44
JUC
java
开发语言
后端
【
JUC
】CompletableFuture超时处理 配置线程池
CompletableFuture简介使用方法代码简介: 项目中一个统计的业务场景,使用原生的CompletableFuture异步多个任务查询mysql数据,少量请求无问题,但是测试过程中大量请求进来,线程没有设置超时时间,导致大量线程处于等待状态,接口响应缓慢。 因此需要在原生的CompletableFuture中封装,使用自定义线程池、设置超时时间保证接口稳定性。使用方法: 工具类中主
脆皮大鸭子
·
2023-10-14 09:13
java
开发语言
JUC
之CompletableFuture
CompletableFutureCompletableFuture在Java里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息。publicclassCompletableFuture1{/***主线程里面创建一个CompletableFuture,然后主线程调用get方法会
Chancezhou
·
2023-10-14 09:11
JUC
java
java多线程-LongAdder
本文主要参考https://www.cnblogs.com/wang-meng/p/12892695.html阿里巴巴开发手册.pngAtomicLongAtomicLong是
juc
包下的原子类,对数据进行原子操作来保证并发情况下数据的安全性
马宁宁118
·
2023-10-14 09:10
结合
JUC
谈Springboot优雅停机
废话少说springboot的优雅停机是借助于ShutdownHook回调实现的(网上文章都说烂了)。在执行hook流程时,spring借助CountDownLatch阻塞线程达到在一定时间内不退出程序,来处理剩下的任务。原地址:https://juejin.cn/post/7197292579057221693发表在掘金,这次拿到csdn,书写格式可能不是很友好。涉及到的知识点SpringSma
Ns____
·
2023-10-14 06:11
spring
spring
boot
java
spring
JUC
——走进并发编程(java.util.concurrent)
什么是
JUC
它是java.util下的一个工具包concurrent,里面装着与并发编程相关的类等。
少歌
·
2023-10-14 01:10
JUC
并发编程
java
Java并发——1.
JUC
基础知识
1.1什么是
JUC
JUC
就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5之后开始出现。
CodeStars码星人
·
2023-10-14 01:40
JAVA
并发
java
多线程
并发编程
jvm
编程语言
JUC
并发编程学习1:
JUC
概述、进程线程概述
什么是
JUC
JUC
就是工具类,java.util.concurent的缩写。用来开发并发编程的工具包。
JUC
是一个处理线程的工具包,JDK1.5开始出现的。
程序员洲洲
·
2023-10-13 22:25
Java
JAVA
java
juc
多线程
【
JUC
】CAS原理
CAS原理文章目录CAS原理1.概述2.原理3.Unsafe4.CAS与自旋锁1.概述compareandswap的缩写,中文翻译成比较并交换,实现并发算法时常用到的一种技术。它包含三个操作数一一内存位置、预期原值及更新值执行CAS操作的时候,将内存位置的值与预期原值比较:如果相匹配,那么处理器会自动将该位置值更新为新值;如果不匹配,处理器不做任何操作,多个线程同时执行CAS操作只有一个会成功CA
比尔高特
·
2023-10-13 22:25
#
03
JUC
java
【
JUC
】原子操作类及LongAddr源码分析
文章目录1.十八罗汉2.原子类再分类2.1基本类型原子类2.2数组类型原子类2.3引用类型原子类2.4对象的属性修改原子类2.5原子操作增强类3.代码演示及性能比较:4.LongAddr原理5.LongAddr源码分析5.1add()5.2longAccumulate()5.3sum()6.小总结6.1AtomicLong6.2LongAdder1.十八罗汉底层使用Unsafe类的CAS方法,而无
比尔高特
·
2023-10-13 22:25
#
03
JUC
java
JUC
基础-C1-
JUC
概述&线程基础
文章目录1
JUC
概述&线程基础1.1什么是
JUC
1.2线程和进程基础1.2.1进程和线程1.2.2线程的状态1.2.3wait和sleep异同1.2.4并发和并行1.2.5管程/Monitor1.2.6
雫#1999
·
2023-10-13 22:54
c1
java
JUC
基础之---线程基础(一)
一、多线程概述1、进程:正在进行中的程序2、线程:就是进程中一个负责程序执行的控制单元(执行路径)一个进程中,可以有多个执行路径,即多线程一个进程中,至少有一个执行路径。(多线程其实就是多个线程中的快速切换)二、多线程的创建方式①--继承Thread类继承Thread类,重写run方法1、JVM创建的主线程的任务都定义在了主函数中2、Thread类中的run方法就是封装自定义线程任务的函数,即ru
倚书依杖听河流
·
2023-10-13 22:54
java
多线程
编程语言
多进程
设计模式
JUC
-多线程(1.概述)学习笔记
文章目录1.
JUC
是什么2.进程/线程是什么1.进程2.线程3.并发/并行是什么1.并发2.并行4.wait/sleep区别5.线程状态6.复习售票问题1.题目:三个售票员卖出30张票2.口诀:线程操作资源类
yuan_404
·
2023-10-13 22:24
多线程
多线程
并发编程
JUC
-01概述
1什么是
JUC
1.1
JUC
简介在Java中,线程部分是一个重点,本篇文章说的
JUC
也是关于线程的。
JUC
就是java.util.concurrent工具包的简称。
Coder_3body
·
2023-10-13 22:24
JUC
多线程
juc
JUC
(1)
JUC
概述与线程基础知识
文章目录1.什么是
JUC
2.进程和线程3.并发与并行4.线程的状态(六个)1.什么是
JUC
在Java中,线程部分是一个重点,本篇文章说的
JUC
也是关于线程的。
悬浮海
·
2023-10-13 22:23
#
多线程与并发编程
juc
线程
JAVA多线程和
JUC
1.程序、进程、线程关系?1.程序(Process)是一个静态的概念,是指令和数据的有序集合。2.进程是一个动态的概念,程序运行就是一个进程。进程是操作系统分配资源的基本单位。3.线程(Thread)是CPU调度和执行的单位。4.进程和线程是包含与被包含的关系,一个进程可以有多个线程。JAVA中一个进程至少拥有两个线程(main/gc线程)。2.创建线程的多种方式1.继承Thread类缺点:jav
CV工程师呀
·
2023-10-13 22:52
题目篇
java
jvm
开发语言
JUC
的概述,线程与进程的概念和状态,
所谓
JUC
是java.util.concurrent工具包的简称这是一个处理线程的工具包可以实现多线程高并发的内容。
是小晴晴呀
·
2023-10-13 22:52
JUC的总结
juc
多线程
线程池
01Java高级
JUC
之多线程概述
1、
JUC
概述1.1、什么事
juc
juc
是java.util.concurrent(java并发编程)工具包的简称,这是一个处理线程的工具包,jdk1.5开始出现1.2、进程、线程进程进程是计算机中程序关于某数据集合上的一次运行活动
曳空@竹
·
2023-10-13 22:22
java基础
java
后端
JUC
之线程进程基础
文章目录1、进程和线程1.1、进程1.2、线程1.3、进程和线程之间的对比2、串行和并行2.1、概述2.2、串行并行之间的对比2.3、应用2.3.1、异步调用2.3.2、并行执行3、Java线程3.1、线程的创建3.1.1、Thread3.1.2、Runnable3.1.3、FutureTask3.1.4、Runnable和Thread之间的关系3.2、线程运行的原理3.3、线程上下文切换4、常用
两米以下皆凡人
·
2023-10-13 22:21
JUC
java
面试
开发语言
juc
JUC
多线程学习笔记
文章目录1.进程和线程概述Synchronized关键字多线程编程步骤Lock接口:手动加锁解锁可重入锁:`ReentrantLock`关于Lock接口lock接口的等待-通知模式2.线程间通信synchronized实现this.wait(),this.notifyAll()虚拟唤醒问题reentrantlock实现condition.await(),condition.signalAll()3
Coder_xxDog123
·
2023-10-13 22:51
Java
java
JUC
多线程
JUC
多线程一1.多线程基础一个采用了多线程技术的应用程序可以更好地利用系统资源。
一只胡说八道的猴子
·
2023-10-13 22:20
多线程
java多线程(3):
JUC
基础概述
几个基本概念volatile,不保证原子性,只保证可见性,也就说不能保证线程安全。如果是一写多读,那么jvm可以解决同步问题。但是,如果是多写,则线程并非安全。实现原理是禁止指令重排序,并强制线程从主存储器获取数据。具体实现原理是在该数据发生更改时,线程会立刻将其写回主存。其他cpu都在嗅探主存储器写总线,当发现自己持有的缓存被修改时,对自己的缓存做无效处理,在下次访问时直接从主存储器中读取。CA
define_us
·
2023-10-13 22:48
java
java多线程
001-多线程-
JUC
集合-框架概述
一、概述1.1、java集合java集合的架构,主体内容包括Collection集合和Map类;而Collection集合又可以划分为List(队列)和Set(集合)。1.List的实现类主要有:LinkedList,ArrayList,Vector,Stack。(01)LinkedList是双向链表实现的双端队列;它不是线程安全的,只适用于单线程。(02)ArrayList是数组实现的队列,它是
dilv4062
·
2023-10-13 22:48
java
数据结构与算法
JUC
多线程并发目录
LinkedHashMapjava集合(2):TreeMap,WeakHashMap,HashTable,ArrayDeque,PriorityQueuejava集合(3):Set集合java集合(4):线程安全
JUC
Mr_tianyanxiaobai
·
2023-10-13 22:17
java基础
JUC
高并发编程
目录集合
JUC
高并发
【
JUC
】多线程基础概述
文章目录1.一锁二并三程2.用户线程和守护线程1.一锁二并三程一锁:synchronized二并:并发:一台处理器“同时”处理多个任务,同一时刻只有一个事件发生并行:多台处理器同时处理多个任务,同一时刻多个处理器分别处理多个事件三程:进程:系统中运行的应用程序就是一个进程,每个进程都有它自己的内存空间和系统资源线程:也被称为轻量级进程,在同一个进程内会有1个或多个线程,是大多数操作系统进行时序调度
比尔高特
·
2023-10-13 22:15
#
03
JUC
java
Android---深入理解AQS和CAS原理
AQS在源码中被广泛使用,尤其是在
JUC
(JavaUtilConcurrent)中,比如ReentrantLock,Semaphore,CountDownLatch,ThreadPoolExecutor
别偷我的猪_09
·
2023-10-13 15:46
#
Android进阶
java
开发语言
狂神说多线程学习笔记整理(二)~
JUC
并发编程
1
JUC
是什么
juc
指java.util.concurrent包线程与进程进程:一个程序的集合,一个进程往往可以包含多个线程,至少包含一个线程:是执行程序的一次执行过程,它是一个动态的概念。
指尖上的革新
·
2023-10-13 11:48
JUC
juc
多线程
JUC
并发编程——8锁现象(基于狂神说的学习笔记)
8锁现象深刻理解锁究竟是什么,锁的对象究竟是谁8个锁的问题,两两分组,问题,答案,代码皆在下面代码块中,如有问题后续补充packageLock8;importjava.util.concurrent.TimeUnit;/***8锁,就是关于锁的8个问题:*1、标准情况下,两个线程先打印哪一个?---->先打印sendSms*2、sendSms延迟4秒后,两个线程哪个线程先打印?---->先打印se
苏三有春
·
2023-10-13 11:17
JUC并发编程
学习
笔记
python
JUC
并发编程学习笔记
目录前言一、简介1、什么是
JUC
二、线程和进程三、Lock锁(重点)四、生产者和消费者问题五、8锁现象六、集合类不安全七、Callable(简单)八、常用的辅助类8.1CountDownLatch8.2CyclicBarrier8.3SemaPhore
Radish萝卜
·
2023-10-13 11:46
学习笔记
Java
java
并发编程
多线程
JUC
并发编程入门学习笔记(狂神说)
目录1.什么是
JUC
2.线程和进程1)进程2)线程3)并发4)并行5)线程的状态6)wait/sleep3.Lock1)传统的synchronized2)Lock3).Synchronized与Lock
Free的午后
·
2023-10-13 11:11
java
juc
多线程
后端
java
面试
JUC
并发编程---狂神说Java学习笔记
JUC
并发编程狂神说Java-
JUC
并发编程学习视频地址解释归属备注utilCallable可赎回concurrentconcurrent并发TimeUnit时间单位DAYS天TimeUnitSECONDS
上下没中
·
2023-10-13 11:11
java
狂神说
JUC
并发编程学习笔记
JUC
1.什么是
JUC
2.线程和进程3.Lock锁(重点)传统SynchronizedLock接口Synchronized和Lock的区别4.生产者和消费者问题生产者和消费者问题Synchronized
As_theWind
·
2023-10-13 11:09
JUC
java
JUC
并发编程总结(狂神说学习笔记)
JUC
并发编程总结前言一、进程和线程1.进程和线程2.并发编程:二、Synchronized和Lock1.Synchronized2.Lock3.Sychronized和Lock的区别三、生产者消费者问题
sparks.fly
·
2023-10-13 11:07
java
JUC
并发编程学习笔记二(狂神)
1、生产者和消费者问题Synchronized版packagecom.kuang.pc;/***线程之间的通信问题:生产者和消费者问题!等待唤醒,通知唤醒*线程交替执行AB操作同一个变量num=0*Anum+1*Bnum-1*/publicclassA{publicstaticvoidmain(String[]args){Datadata=newData();newThread(()->{for(
ZHOU_VIP
·
2023-10-13 11:34
java
开发语言
后端
JUC
并发编程——
JUC
并发编程概述及Lock锁(重点)(基于狂神说的学习笔记)
基于bilibili狂神说
JUC
并发编程视频所做笔记概述什么是
JUC
JUC
时java.util工具包中的三个包的简称java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks
苏三有春
·
2023-10-13 11:25
JUC并发编程
学习
笔记
python
Java的CAS乐观锁原理解析
juc
包中的原子类就是通过CAS来实现了乐观锁。CAS算法涉及到三个操作数:需要读写的内存值V。进行比较的旧值A(期望操作前的值)要写入的新值B。
JavaEdge
·
2023-10-13 08:35
多线程-高阶(策略锁、CAS、
JUC
、ConcurrentHashMap)
4)独占锁和共享锁(5)可重入锁(6)自旋锁(7)偏向锁2.乐观锁的经典实现:CAS(1)CAS实现(2)CAS的实现原理(3)CAS在Java中的应用(4)面试题:CAS存在ABA问题,如何处理3.
JUC
秃头小宝儿
·
2023-10-13 04:22
多线程
多线程
juc
锁
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他