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
并发编程java并发阻塞队列
JUC
并发编程
-同步器框架
同步器框架CountDownLatch详解简介CountDownLatch底层也是由AQS,用来同步一个或多个任务的常用并发工具类,强制它们等待由其他任务执行的一组操作完成。CountDownLatch是共享锁的一种实现,它默认构造AQS的state值为count。当线程使用countDown()方法时,其实使用了tryReleaseShared方法以CAS的操作来减少state,直至state为
NeverOW
·
2024-01-28 09:45
JUC并发编程
java
开发语言
后端
juc
笨蛋学JUC
并发编程
-共享模型之内存
JUC
并发编程
-共享模型之内存3.1Java内存模型3.2可见性3.2.1退不出的循环3.2.2分析3.2.3解决方法3.2.4原子性和可见性3.2.5两阶段终止模式3.2.6同步模式之Balking3.3
Today-Saturday
·
2024-01-28 09:14
笨蛋学JUC
java
juc
JUC
并发编程
四 并发架构--并发之共享模型
共享问题synchronized利用对象锁保证了临界区内代码的原子性.线程安全分析String,Integer都是不可变类.因为其内部的状态不可改变.因此他们的方法都是线程安全的.monitorwait/notify线程状态转换活跃性lock
请叫我大虾
·
2024-01-28 09:14
java
笨蛋学JUC
并发编程
-共享模型之无锁
JUC
并发编程
-共享模型之无锁4.共享模型之无锁问题:保证取款方法的线程安全4.1CAS与volatile4.1.1volatile4.1.2注意4.1.3上下文切换4.1.4无锁效率高(多核CPU才能发挥优势
Today-Saturday
·
2024-01-28 09:44
笨蛋学JUC
java
juc
《JUC
并发编程
- 高级篇》04 -共享模型之内存 (Java内存模型 | 可见性 | 有序性 )
文章目录四、共享模型之内存5.1Java内存模型5.2可见性5.2.1退不出的循环5.2.2解决方法5.2.3可见性vs原子性5.3有序性***原理之指令级并行**5.3.1诡异的结果5.3.2解决方法*原理之volatile5.3.3happens-before5.4习题5.4.1balking模式习题5.4.2线程安全单例习题本章小结四、共享模型之内存上一章讲解的Monitor主要关注的是访问
爱编程的大李子
·
2024-01-28 09:43
JUC并发编程
java
jvm
开发语言
笨蛋学JUC
并发编程
-共享模型之管程
JUC
并发编程
-共享模型之管程JUC
并发编程
-共享模型之管程2.共享模型之管程2.1线程共享问题2.1.1问题2.1.2临界区2.1.3竞态条件2.2synchronized2.2.1synchronized
Today-Saturday
·
2024-01-28 09:43
笨蛋学JUC
java
开发语言
笨蛋学JUC
并发编程
-共享模型之不可变
JUC
并发编程
-共享模型之管程5.共享模型之不可变5.1不可变类的使用日期转换问题解决-使用synchronized解决-使用OfPattern5.2不可变类设计String的substring方法5.3DIY
Today-Saturday
·
2024-01-28 09:12
笨蛋学JUC
java
juc
Go 如何应对高并发 | 高并发详解
并发编程
是当前软件领域中不可忽视的一个关键概念。随着CPU等硬件的不断发展,我们都渴望让我们的程序运行速度更快、更快。
Lamb!
·
2024-01-28 07:48
Go
golang
开发语言
并发编程
总结-案例篇
定义:充分利用cpu的多核心,实现高效率的程序。在单核cup上并不能实现高效率。java中线程实现:通过Thread类,实例化Thread类,重写run()方法。再调用start()方法。start()方法的含义是定义好线程需要执行的代码,交给系统去调度,系统会之后的合适时间启动一个线程去执行run()方法中的代码。线程状态:/***Threadstateforathreadwhichhasnot
左大星
·
2024-01-28 07:27
Java并发编程
java
Java并发案例
javaee
并发编程
之CAS算法ABA问题分析和解决
前言在前面《
并发编程
之CAS算法与原子变量详解》我们采用JUC包下的Atomic原子变量,解决了多线程环境下共享变量原子性问题,Atomic底层操作是基于CAS算法,并且也提到,采用一种无锁的非阻塞算法的实现
小明说Java
·
2024-01-28 04:06
Java后端开发
java
CAS算法
ABA问题
【JAVA】提交任务时,线程池队列已满,这时会发生什么
个人博客:个人主页个人专栏:JAVA⛳️功不唐捐,玉汝于成目录前言正文抛出异常:阻塞等待:丢弃任务:调整线程池参数:使用拒绝策略:结语我的其他博客前言在
并发编程
中,线程池作为一种重要的资源管理工具,被广泛应用于提高系统性能和响应速度
还在路上的秃头
·
2024-01-28 01:20
JAVA
java
开发语言
面试
笔记
【JAVA】什么是自旋
个人博客:个人主页个人专栏:JAVA⛳️功不唐捐,玉汝于成目录前言正文结语我的其他博客前言在计算机科学的领域中,多线程和
并发编程
已成为处理复杂任务和提高系统性能的不可或缺的手段。
还在路上的秃头
·
2024-01-28 01:49
JAVA
java
开发语言
面试
笔记
C++书籍推荐(持续更新...)
目录新手C++PrimerPlus初级数据结构算法设计与分析中级C++CoreGuidelinesEffectiveC++MoreEffectiveC++高级C++
并发编程
实战C++Templates专家
A_cainiao_A
·
2024-01-27 23:58
c++
Go 语言并发清洗数据
他说
并发编程
容易写错,需求又急:),幸好我之前写过一点,整一个demo给他参考一下。
朴素的心态
·
2024-01-27 20:08
【代码随想录-数组】移除元素
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 18:08
s6
算法与数据结构
java
ReentrantLock 实现原理(公平锁和非公平锁)
AQS是
Java并发
包里实现锁、同步的一个重要的基础框架。锁类型Reent
java高级架构F六
·
2024-01-27 17:36
JUC
并发编程
与源码分析学习笔记(三)
目录五十六、JMM之入门简介五十七、JMM之学术定义和作用五十八、JMM之三大特性五十九、JMM之多线程对变量的读写过程六十、JMM之happens-before-上集六十一、JMM之happens-before-下集五十六、JMM之入门简介Java内存模型之JMM1、先从大厂面试题开始①、你知道什么是Java内存模型JMM吗?②、JMM与volatile它们两个之间的关系?(下一章详细讲解)③、
突然好想你之路在脚下
·
2024-01-27 12:07
多线程
学习
笔记
java
Java高级技术之RabbitMQ生产故障问题分析
当时为了应急处理,恢复系统可用,运维相对粗暴的把一堆
阻塞队列
信息清空,然后重启整个集群。在复盘整个故障过程中,我心中有不少疑惑,至少存在以
就要学Java
·
2024-01-27 12:54
Java
Spring
消息队列
java-rabbitmq
rabbitmq
java
分布式
java-rocketmq
Golang中make与new有何区别
本文收录于go进阶系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中,
过去日记
·
2024-01-27 09:50
go进阶
golang
开发语言
Java集合相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-27 09:45
java面试题
java
开发语言
5000字、12字 连环炮、一张图快速搞定线程池
7、线程池中使用到了
阻塞队列
,那你知道有哪些
阻塞队列
?8、线程池中的核心线程如何设置呢?9、知道线程池有哪些状态吗?10、线程池中的线程是如何复用的?11、Java线程池中submit()和exe
码市冲冲冲
·
2024-01-27 09:09
C++
并发编程
,std::unique_lock与std::lock_guard区别示例
C++
并发编程
,std::unique_lock与std::lock_guard区别示例背景平时看代码时,也会使用到std::lock_guard,但是std::unique_lock用的比较少。
坚定亦唯美
·
2024-01-27 05:58
并发多线程
C++
并发编程
| future与async
文章目录一、async1、定义2、启动策略一、async1、定义2、启动策略async函数接受两种不同的启动策略,这些策略在std::launch枚举中定义,如下:std::launch::defered:这种策略意味着任务将在调用future::get()或future::wait函数时延迟执行,也就是任务将在需要结果时同步执行std::launch::async:任务在单独一个线程上异步执行默
MessiGo
·
2024-01-27 05:24
c++
开发语言
C++11并发支持库函数std::call_once
C++语言自从C++11开始对
并发编程
(concurrency)做了很多的支持,例如atomic,thread,mutex,condition_variable,lock,async,future等等众多喜闻乐见的好宝贝
Bruce Jia(上海)
·
2024-01-27 05:24
C++
c++
开发语言
C++
并发编程
| std::call_once
文章目录一、std::call_once1、函数声明2、std::once_flag3、应用示例前言某些场景下,需要代码只被执行一次,比如单例类的初始化,考虑到多线程安全,需要进行加锁控制。C++11中提供的call_once可以很好的满足这种需求,使用又非常简单。一、std::call_once1、函数声明函数定义于头文件,call_once保证可调用对象_Fx只被执行一次,即使在多线程场景,函
MessiGo
·
2024-01-27 05:22
c++
java
javascript
【代码随想录-数组】二分查找
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 04:58
s6
算法与数据结构
java
【代码随想录-数组】有序数组的平方
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-27 03:24
s6
算法与数据结构
java
【死磕
Java并发
】—–J.U.C之线程池:ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor解析我们知道Timer与TimerTask虽然可以实现线程的周期和延迟调度,但是Timer与TimerTask存在一些缺陷,所以对于这种定期、周期执行任务的调度策略,我们一般都是推荐ScheduledThreadPoolExecutor来实现。下面就深入分析ScheduledThreadPoolExecutor是如何来实现线程的周期、延迟调度的
Zal哥哥
·
2024-01-26 20:40
重点归纳-多线程
线程-java内存模型(共享内存模型)定义1、在
并发编程
中,需要处理两个关键问题:线程之间如何通信及同步;而Java线程之间的通信由Java内存模型控制,Java内存模型决定一个线程对共享变量的写入何时对另一个线程可见
小丑的果实
·
2024-01-26 19:19
总结线程池
1.创建线程池的原因使用了多进程确实能够进行
并发编程
,但是频繁创建销毁进程,成本比较高。因此我们引入了线程(轻量级进程)。复用资源的方式,来提高了创建销毁效率。
头发掉光光√
·
2024-01-26 14:38
java-ee
【
并发编程
】锁死的问题——如何解决?以及如何避免?
目录1.如何解决一、死锁的定义和原因1.1定义1.2原因二、常见的死锁场景2.1线程间相互等待资源2.2嵌套锁的循环等待2.3对资源的有序请求三、死锁排查的方法3.1使用jstack命令3.2使用jconsole3.3使用VisualVM四、常见的解决方案4.1避免嵌套锁的循环等待4.2使用带超时的锁4.3使用资源分配图2.如何避免1.如何解决一、死锁的定义和原因1.1定义死锁是指两个或多个线程在
王果冻ddd
·
2024-01-26 13:42
java
开发语言
面试
【
并发编程
】 synchronized的普通方法,静态方法,锁对象,锁升级过程,可重入锁,非公平锁
目录1.普通方法2.静态方法3.锁对象4.锁升级过程5.可重入的锁6.不公平锁非公平锁的lock方法:1.普通方法将synchronized修饰在普通同步方法,那么该锁的作用域是在当前实例对象范围内,也就是说对于SyncDemosd=newSyncDemo();这一个实例对象sd来说,多个线程访问access方法会有锁的限制。如果access已经有线程持有了锁,那这个线程会独占锁,直到锁释放完毕之
王果冻ddd
·
2024-01-26 13:11
java
jvm
开发语言
【
并发编程
】AQS——详细解释公平锁,非公平锁,独占锁,什么是可重入以及condition
目录1、公平2.非公平3.独占锁4.可重入5.condition1、公平第一步:获取状态的state的值。如果state=0即代表锁没有被其它线程占用,执行第二步。如果state!=0则代表锁正在被其它线程占用,执行第三步。第二步:判断队列中是否有线程在排队等待。如果不存在则直接将锁的所有者设置成当前线程,且更新状态state。如果存在就入队。第三步:判断锁的所有者是不是当前线程。如果是则更新状态
王果冻ddd
·
2024-01-26 13:09
java
开发语言
后端
理解线程池原理--手写一个线程池
理解线程池原理--手写一个线程池实现思路用户创建出线程池对象,自定义线程池的核心线程数、
阻塞队列
大小、拒绝策略。
小孙的Blog
·
2024-01-26 10:57
java
Java线程池是什么?模拟一个简单的Java线程池
一、前言为了实现
并发编程
,于是就引入了进程这个概念。进程就相当于操作系统的一个任务。多个进程同时执行任务,就实现了
并发编程
,能够更快的执行。
见闻色霸气~
·
2024-01-26 10:23
JavaEE
java
后端
intellij-idea
goroutine并发扫描MySQL表_GO语言的进阶之路-goroutine(并发)
优雅的
并发编程
范式,完善的并发支持,出色的并发性能是Go语言区别于其他语言的一大特色。使用Go语言开发服务器程序时,
佘明
·
2024-01-26 09:09
经典C#面试:C#下多线程的实现方式与区别详解,包括并行编程和
并发编程
并行编程和
并发编程
是两种不同的编程范式,它们在C#中都有对应的实现方式。本文将详细介绍这些实现方式,并提供相应的示例。一、使用Thread类Thread类是C#中实现
白话Learning
·
2024-01-26 08:33
C#
c#
面试
开发语言
【
Java并发
】聊聊Future如何提升商品查询速度
java中可以通过newthread、实现runnable来进行实现线程。但是唯一的缺点是没有返回值、以及抛出异常,而callable就可以解决这个问题。通过配合使用futuretask来进行使用。并且Future提供了对任务的操作,取消,查询是否完成,获取结果。DemoFutureTaskfutureTask=newFutureTask(()->{Thread.sleep(10000);Syst
qxlxi
·
2024-01-26 07:49
#
并发编程
java
开发语言
咕泡教育面试
8、Lock和Sychronized区别9、线程池是怎么知道一个线程是否完成的10、HashMap是怎么解决hash冲突的11、什么叫做
阻塞队列
的有界和无界12、Dubbo的服务请求失败如何处理13、ConcurrentHashMap
小晨想好好学习
·
2024-01-26 06:57
面试
面试
扎哇面试准备
我会的技能是
并发编程
、MySQL、Redis、Spring、SpringMVC、SpringBoot、SpringCloudAlibabaNacos、Sentinel、Seata、SpringCloudGateway
速 �
·
2024-01-26 06:57
面试
职场和发展
揭秘
Java并发
包(JUC)的基石:AQS原理和应用
Java并发
包(JUC)为我们提供了丰富的并发工具,其中不乏我们熟悉的ReentrantLock、Semaphore等。
地瓜伯伯
·
2024-01-26 02:19
源码
java
jvm
spring
cloud
spring
boot
微服务
面试
架构
面试官:谈谈你对
并发编程
的理解?
并发编程
的优缺点充分利用多核CPU的计算能力:通过
并发编程
的形式可以将多核CPU的计算能力发挥到极致,性能得到提升方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于
并发编程
。
lichongxyz
·
2024-01-25 22:49
并发编程
java
数据库
开发语言
守护线程和用户线程有什么区别
守护线程(DaemonThread)和用户线程(UserThread)是
并发编程
中常用的两种线程类型,它们在行为和生命周期管理上有一些区别。
lichongxyz
·
2024-01-25 22:49
并发编程
java
开发语言
C++
并发编程
:互斥锁std::mutex和lock_guard的使用
(1)std::mutex是C++标准库中提供的一种用于多线程同步的互斥锁实现。mutex用于控制多个线程访问共享资源,确保在任意时刻只有一个线程可以访问该资源,避免数据竞争。线程在访问共享资源之前首先需要锁住std::mutex,然后在完成操作后释放锁。这确保了同一时刻只有一个线程可以访问被保护的资源,从而防止多线程并发访问导致的数据不一致性。(2)std::lock_guard是C++标准库中
暮色_年华
·
2024-01-25 22:10
c++
c++
开发语言
ThreadLocal
用途ThreadLocal的主要用途包括:维护线程封闭性:它可以确保对象的线程局部性,使得
并发编程
更安全。存储线程特有的数据:如用户身份信息、事务状态等。性能优化:避免了同步开销,
辞暮尔尔-烟火年年
·
2024-01-25 19:38
java
后端
详解SpringCloud微服务技术栈:一文速通RabbitMQ,入门到实践
DockerCompose部署微服务集群订阅专栏:微服务技术全家桶希望文章对你们有所帮助RabbitMQ的使用还是很广泛的,主要是用在异步通讯的过程中的消息中间件,而在之前我学习Redis的时候,已经分别通过
阻塞队列
和
布布要成为最负责的男人
·
2024-01-25 19:21
微服务技术全家桶
spring
cloud
微服务
rabbitmq
中间件
java
spring
docker
java开发——《
并发编程
》
目录一.jmm二.并发了什么1.只有一个核(单核)并发还有没有意义2.单核,还有什么可见性问题3.并发和并行三.volitaile1.变量的可见性问题2.原因是什么3.本次修改的变量直接刷到主内存4.声明其他内存对于这个地址的缓存无效四.happens-befo1.顺序性问题五.volitaile+cas1.原子性问题2.轻量级锁实现方案六.并发如何和项目结合七.synchronized1.普通方
王果冻ddd
·
2024-01-25 18:04
java
开发语言
后端
Obsidian笔记软件结合cpolar实现安卓移动端远程本地群晖WebDAV数据同步
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-25 17:51
s20
cpolar
笔记
android
Java 集合List相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-25 16:41
java面试题
java
list
【揭秘】Executor和ExecutorService区别?
Executor和ExecutorService都是
Java并发编程
中的重要概念,两者都用于异步地执行任务,但是它们之间存在一些重要的区别:设计目标:Executor:设计目标是提供一个简单的、统一的、
程序员古德
·
2024-01-25 16:10
java
开发语言
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他