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并发工具包的基础——AQS概述
文章目录1.AQS概念1.1.什么是AQS1.2.AQS的实现原理2.使用AQS实现互斥锁2.1.简单互斥锁实现2.2.可重入的实现1.AQS概念AQS是Java中的一个
并发编程
的框架,通过这个框架实现了一些
并发编程
中实用的功能
挥之以墨
·
2023-12-28 08:18
#
并发编程
Java
多线程
java
并发编程
并发编程
(十五)-CompletableFuture中常用方法的使用与分析
文章目录一、CompletableFutureAPI介绍1.描述2.CompletionStage3.CompletableFuture4个核心静态方法(1)runAsync(Runnablerunnable)(2)runAsync(Runnablerunnable,Executorexecutor)(3)supplyAsync(Suppliersupplier)(4)supplyAsync(Su
Super_Leng
·
2023-12-28 08:44
并发编程
java
开发语言
Java
并发编程
面试题——JUC专题
文章目录一、AQS高频问题1.1AQS是什么?1.2唤醒线程时,AQS为什么从后往前遍历?1.3AQS为什么用双向链表,(为啥不用单向链表)?1.4AQS为什么要有一个虚拟的head节点1.5ReentrantLock的底层实现原理1.6ReentrantLock的公平锁和非公平锁的区别1.7ReentrantReadWriteLock如何实现的读写锁二、阻塞队列高频问题2.1说下你熟悉的阻塞队列
王二蛋!
·
2023-12-28 07:04
#
金三银四面试
面试
java
并发编程
并发编程
学习笔记 之 常用并发容器的概念及使用方法
1、概念 并发容器是指在高并发应用程序的使用过程中,这些容器(数据结构)是线程安全的,而且在高并发的程序中运行它们会有高效的性能表现。2、BlockingQueue(阻塞队列) BlockingQueue是指其中的元素数量存在界限,当队列已满时(队列元素数量达到了最大容量的临界值),对队列进行写入操作的线程将被阻塞挂起,当队列为空时(队列元素数量达到了为0的临界值),对队列进行读取的操作线程将
姠惢荇者
·
2023-12-28 07:29
笔记
学习
java
数据结构
【
并发编程
】LockSupport源码详解
目录一、前言1.1简介1.2为什么说LockSupport是Java并发的基石?二、LockSupport的用途2.1LockSupport的主要方法2.2使用案例2.3总结三、LockSupport源码分析3.1学习原理前的前置知识3.1.1Unsafe.park()和Unsafe.unpark()3.1.2wait和notify/notifyAll3.1.3LockSupport灵活性3.2L
小七mod
·
2023-12-28 07:50
#
并发编程
Java
Java
多线程
阻塞
并发
LockSupport
【
并发编程
】Java的Future机制详解(Future接口和FutureTask类)
目录一、彻底理解Java的Future模式二、为什么出现Future机制2.1Future类有什么用?三、Future的相关类图2.1Future接口2.2FutureTask类五、FutureTask源码分析5.1state字段5.2其他变量5.3CAS工具初始化5.4构造函数5.5jdk1.8和之前版本的区别六、Callable和Future有什么关系?七、CompletableFuture类
小七mod
·
2023-12-28 07:50
Java
#
并发编程
多线程
Java
并发编程
Future
FutureTask
【java 高
并发编程
之JUC】高阶JUC特性总结
1线程中断机制1.1什么是中断?首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop,Thread.suspend,Thread.resume都已经被废弃了。其次在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的机制——中断。中断只是一种协作机制,Java没有给中断增加任何语
Young丶
·
2023-12-28 07:37
JUC
java
jvm
开发语言
【java 高
并发编程
之JUC】2w字带你JUC从入门到精通
点击查看脑图目录地址,实时更新1什么是JUC1.1JUC简介在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。JUC就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5开始出现的。1.2进程与线程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程
Young丶
·
2023-12-28 07:36
JUC
java
jvm
JUC
黑马redis学习记录:分布式锁
分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路分布式锁应该满足的条件:可见性:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是
并发编程
中指的内存可见性
ZZDT0917
·
2023-12-28 07:29
redis
redis
分布式
学习
【JUC
并发编程
】13 读写锁ReentrantReadWriteLock原理/源码解析
文章目录一、ReentrantReadWriteLock实现原理1、概述1)面试题2:为什么要使用读写锁?2)面试题3:为什么读写锁中读锁和写锁采用一个变量来标识?3)面试题4:读写锁如何保证写线程不饿死?4)如何使用读写锁?2、源码分析原理1)面试题1:读写锁如何实现的(实现原理)?2)成员变量/构造函数1>内部类Sync1>面试题5:为什么实例化Sync时要获取到state变量之后再setSt
秃秃爱健身
·
2023-12-28 07:23
#
精通JUC并发编程
java
juc
面试
【JUC
并发编程
】1 ThreadPoolExecutor线程池源码解析
文章目录一、为什么要使用线程池?二、ThreadPoolExecutor源码分析1.常用变量2.构造方法3.任务执行过程execute()4.addWorker()方法5.runWorker()方法6.processWorkerExit()1)如果线程池中的线程异常终止,线程池的工作线程数量会减少吗?7.shutdown()和shutdownNow()的区别三、总结一、为什么要使用线程池?降低资源
秃秃爱健身
·
2023-12-28 07:53
#
精通JUC并发编程
java
线程池
多线程
【JUC
并发编程
】 16 深入理解AQS的实现原理、源码分析
文章目录一、AQS原理1、AQS是什么?2、AQS的核心:CLH队列3、以独占锁同步状态的获取和释放为例:4、从具体的代码实现来看1)互斥锁`acquire()`获取互斥锁`release()`释放互斥锁2)共享锁`acquireShared()`获取共享锁`releaseShared()`释放共享锁5、面试题2:AQS中线程Node节点的PROPAGATE状态是什么意思?二、AQS源码分析1、a
秃秃爱健身
·
2023-12-28 07:53
#
精通JUC并发编程
java
【JUC
并发编程
】7 ReentrantLock锁机制原理/源码分析
文章目录一、Lock原理1、lock()获取锁流程2、unlock()释放锁流程:3、面试题2:为什么非公平锁的性能优于公平锁?二、ReentrantLock源码分析1、变量和构造器2、lock()加锁1)非公平锁的加锁2)公平锁的加锁3、unlock()释放锁一、Lock原理以ReentrantLock为例,其是基于AQS实现的可重入锁。1>ReentrantLock把所有Lock接口的操作都委
秃秃爱健身
·
2023-12-28 07:53
#
精通JUC并发编程
java
java面试题20
答案:多线程是一种
并发编程
的机制,允许程序同时执行多个线程,以实现并行处理和提高程序的效率。在Java中,多线程可以通过使用Thread类或实现Runnable接口来创建和管理线程,可以同时执行多个线
CrazyMax_zh
·
2023-12-28 05:41
java
开发语言
面试官:并发和并行的区别
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java
并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-12-28 04:17
面试干货
java
第一章
并发编程
挑战
第一章
并发编程
挑战序言问题调整序言并发的目的是为了程序运行的更快,并不是启动更多的线程就能让程序最大限度地并发执行,但是做好
并发编程
,需要面临一下问题需要去解决,例如:上下文切换、死锁、资源限制问题问题调整即使是单核处理器
我叫果冻
·
2023-12-27 19:18
并发编程那些年
java
服务器
数据库
Go语言
并发编程
艺术:从基础到高级实践
欢迎来到本篇博客,我们将带你进入Go语言
并发编程
的引人入胜的艺术世界。并发是Go语言的一项强大特性,允许你以高效、可伸缩的方式处理并行任务。
乔明飞
·
2023-12-27 16:05
开发语言
golang
开发语言
【送书福利-第三十期】《Java面试八股文:高频面试题与求职攻略一本通》
本书内容覆盖了Java基础知识,
并发编程
与多线程,集合原理,JVM原理,I/O与网络编程
桃花键神
·
2023-12-27 11:41
JAVA百解
架构
java
并发编程
3——volatile和synchronized的底层
java
并发编程
3——volatile和synchronized的底层java代码编译成字节码,然后被类加载器加载到jvm中,jvm执行,最终转换为汇编指令在cpu上执行,java的并发机制其实依赖的是
可爱的小小小狼
·
2023-12-27 09:21
并发编程
java
开发语言
操作系统——多线程
并发编程
数据并行和任务并行数据并行是一种并行计算的模式,其中数据被分割成多个部分,每个部分在独立的处理单元上同时处理。任务并行可以是多个线程操作一个数据,主要区别是将任务划分开了,但
可爱的小小小狼
·
2023-12-27 09:51
linux
网络
系统架构
windows
ubuntu
java
并发编程
2——缓存一致性的底层:MESI协议
MESI协议硬件的缓存一致性是通过,MESI状态转换和嗅探技术实现的。缓存一致性面临的问题:多个CPU内都有自己的缓存,从内存中取出数据放到缓存中从而提高执行效率,但是如果多个CPU缓存都存有相同的数据,那么如果多个CPU同时对这个数据进行修改,然后放回内存,就会引起冲突。MESI协议是一种常见的缓存一致性协议,用于处理多处理器系统中的缓存一致性问题。它通过给CPU缓存中的数据标注状态,然后根据状
可爱的小小小狼
·
2023-12-27 09:51
并发编程
缓存
java
系统架构
【go语言】CSP并发机制与Actor模型
一、多线程共享内存1.概念多线程共享内存模型是一种
并发编程
模型,其中多个线程在同一个进程的地址空间中共享相同的内存区域。
三水木_
·
2023-12-27 08:38
go
数据库
golang
并发
数据库基础面试第二弹
1.乐观锁和悲观锁的理解及使用乐观锁和悲观锁是在
并发编程
中使用的两种并发控制机制,用于解决多线程或多进程环境下的数据一致性问题。
软件测试潇潇
·
2023-12-27 06:24
软件测试
数据库
面试
java
软件测试
自动化测试
功能测试
程序人生
GO基础进阶篇 (九)、临界资源安全问题(锁、channel)
临界资源安全问题在
并发编程
中对临界资源的处理不当,往往会导致数据的不一致问题packagemainimport("fmt""time")funcmain(){a:=1gofunc(){a=2fmt.Println
不可L
·
2023-12-27 06:23
GO语言从基础到应用
golang
服务器
开发语言
平时收集的java八股文,只收集高频和经典,无偿分享
本篇博客将带领读者深入探讨Java领域的一些重要概念和技术,涉及面向对象特征、集合类的选择、
并发编程
、JDK1.8新特性等多个方面。
码农阿豪
·
2023-12-27 05:39
好“物”分享
java
面试收集
Python
并发编程
插播广告:2023年度人气创作者打榜中-帮我打榜吧~https://activity.juejin.cn/rank/2023/writer/272334612598664?utm_campaign=annual_2023&utm_medium=self_web_share&utm_source=_%E5%B1%B1%E6%B5%B7并行与并发的区别并发:宏观上,多个任务同时运行;一个CPU核心交替
carmen_山海
·
2023-12-26 23:45
python基础
python
开发语言
context标准库的介绍和使用
使用上下文的程序应遵循以下规则:保持包之间的接口一致不要在结构类型中存储上下文上下文应该是第一个参数,通常命名为ctx上下文值仅用于传输进程和API的请求范围数据,而不用于向函数传递可选参数context是Golang开发常用的
并发编程
技术
lisus2007
·
2023-12-26 17:41
GO语言
golang
go
分布式信号量(Redis)
什么是信号量信号量,由
并发编程
领域的先锋人物EdsgerWybeDijkstra提出的一种解决同步不同执行线程的方法。
ldxxxxll
·
2023-12-26 15:49
分布式
redis
数据库
JUC
并发编程
来源:【尚硅谷】大厂必备技术之JUC
并发编程
2021最新版1什么是JUC1.1JUC简介在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。
永恒_顺其自然
·
2023-12-26 13:07
java
优化Go语言HTTP应用程序性能的技巧
以下是一些优化Go语言HTTP应用程序性能的技巧:使用goroutine和channelGo语言的goroutine和channel是实现
并发编程
的重要特性。
华科℡云
·
2023-12-26 12:11
网络
linux
http
go与c对比
并发编程
Keep forward upup
·
2023-12-26 09:36
go语言
C语言
golang
c语言
java
java 和go的区别
Go:更倾向于简洁和效率,支持
并发编程
,但不是纯粹的面向对象语言,没有提供类和继承。性能和效率Java:运行在Java虚拟机(JVM)上,拥有成熟的JIT(Just
Keep forward upup
·
2023-12-26 09:36
go语言
Java基础
java
golang
开发语言
二、Java并发之Fork-Join
Fork/Join是Java
并发编程
中的一个重要概念,它基于"分治"(divideandconquer)的思想,尝试将所有可用的处理器内核使用起来帮助加速并行处理。
mntalk
·
2023-12-26 08:59
Java并发
java
开发语言
三、Java并发之线程池详解
一、线程池的基本概念线程池是Java
并发编程
中的一种重要技术,它通过预先创建一定数量的线程,并将这些线程放入一个池中,等待任务到来。当有任务到来时,线程池会从池中取出可用的线程来执行任务。
mntalk
·
2023-12-26 08:59
Java并发
java
python
开发语言
一篇文章彻底搞懂JMM和
并发编程
三大特性(深度剖析,java
并发编程
必须了解)
2、
并发编程
会贷来什么问题3、CPU和缓存一致性4、处理器优化和指令重排二、JMM到底是什么(java内存模型)?
未闻花名丶丶
·
2023-12-26 04:14
并发编程
java
GO语言基础笔记(四):
并发编程
基础
目录Goroutines通道(Channel)代码示例Goroutines定义与特点:Goroutines是Go语言中实现并发的基本单位。它比传统的线程更轻量级,拥有更小的内存占用和更快的启动时间。在Go程序中,您可以轻松地启动成千上万的Goroutines。使用方法:使用go关键字后跟一个函数调用,即可启动一个Goroutine。例如:gomyFunction()packagemainimpor
Thomas_Lbw
·
2023-12-26 03:43
Go
golang
笔记
开发语言
Java 后端开发学习路线
图片版思维导图在底部编程基础Java语言语言基础基础语法面向对象接口容器异常泛型反射注解I/O图形化(如Swing)JVM类加载机制字节码执行机制JVM内存模型GC垃圾回收JVM性能监控与故障定位JVM调优并发/多线程
并发编程
基础线程池锁并发容器原子类
三尺青锋丶
·
2023-12-26 00:39
使用通道和模式
通过通道、选择语句和最佳实践掌握Go中的
并发编程
并发编程
是构建高效和响应迅速的软件的强大范例。Go,也被称为Golang,通过通道提供了一种健壮且优雅的解决方案来进行并发通信。
技术的游戏
·
2023-12-26 00:53
爬虫
揭秘 Go 中 Goroutines 轻量级并发
Goroutines解释Goroutine是Go编程语言中
并发编程
的基本构建块。它本质上是一个轻量级的
技术的游戏
·
2023-12-26 00:22
golang
开发语言
后端
Go语言中的`sync`包同步原语
通过sync包掌握Go语言的并发并发是现代软件开发的基本方面,而Go(也称为Golang)为
并发编程
提供了一套强大的工具。在Go中用于管理并发的基本包之一是sync包。
技术的游戏
·
2023-12-26 00:52
golang
开发语言
后端
【
并发编程
系列4】JMM中happens-before规则和as-if-serial语义
先行发生原则(happens-before)我们知道,在Java内存模型中,如果要确保有序性可以靠volatile和synchronized来实现,但是如果所有的有序性都仅仅依靠这两个关键字来完成,那么有一些操作将会变得很繁琐,但是我们在编写Java代码的时候并没有感觉到这一点,这是因为Java语言中有一个“先行发生(happens-before)”的原则。那么happens-before到底是什
刀哥说Java
·
2023-12-25 18:57
并发编程
记录(一)--单线程、多线程、多进程对比
Python实现
并发编程
多线程多进程协程(生成器)
并发编程
的基本概念串行:一个人在一段时间段内只能干一件事情(吃完饭后才能看电视)并行:一个人在一段时间内同时干多件事情(边吃饭边看电视)在Python中
憧憬001
·
2023-12-25 17:30
初始go语言
6.支持
并发编程
7.错误处理机制。不同的错误处理机制,节省代码。8.反射9.语言的交互性。(和c语言)
混世太保
·
2023-12-25 15:19
【
并发编程
篇】定义最大线程的方法
文章目录省流️前言CPU密集型代码实现IO密集型省流池的最大大小如何去设置使用CPU密集型和IO密集型这2种方法️前言上一篇文章我们讲解了自定义线程池的方法,里面提到了最大线程池那么,到底应该怎么去定义最大线程呢CPU密集型通常情况下,计算机系统的处理能力取决于两个主要因素:处理器核心数量和线程数。处理器核心表示处理器上的物理处理单元数量,而线程是操作系统调度处理器执行任务的最小单位。在一个C
在下小吉.
·
2023-12-25 15:17
并发编程
java
性能优化
开发语言
【
并发编程
篇】读锁readLock()和写锁writeLock()
文章目录情景引入⭐解决问题readLock()和writeLock()都是ReadWriteLock接口中定义的方法,用于获取读锁和写锁。readLock()方法返回一个读锁,允许多个线程同时获取该锁,以进行并发读取操作。如果当前已有一个写锁或其他线程正在请求写锁,则读锁会被阻塞,直到所有写锁请求完成并释放锁为止。读锁和写锁之间是互斥的。writeLock()方法返回一个写锁,只允许一个线程获取该
在下小吉.
·
2023-12-25 15:17
并发编程
java
开发语言
【
并发编程
篇】源码分析,手动创建线程池
文章目录前言Executors的三大方法简述线程池手动创建线程池⭐源码分析✨代码实现,手动创建线程池CallerRunsPolicy()AbortPolicy()DiscardPolicy()DiscardOldestPolicy()前言Executors的三大方法Java中的Executors类提供了创建和管理线程池的工厂方法。主要有以下三种常用的静态工厂方法:newFixedThreadPoo
在下小吉.
·
2023-12-25 15:47
并发编程
开发语言
java
并发编程
系列-volatile内存实现和原理
前面的博文说了java的内存模型,介绍了java内存模型的基础,此篇文章来说一下volatile关键字,这个在
并发编程
占有举足轻重地位的关键字。
起个名忒难
·
2023-12-25 14:39
【并发设计模式】聊聊Immutability模式利用不变性解决并发问题
上一篇文章,我们介绍了如何利用二阶段停止协议进行优雅停止线程和线程池,本篇介绍在
并发编程
中数据安全性,我们知道针对于数据的操作,读和写(添加、删除、修改),在并发线程读写的时候,变量不加锁的情况下,一定会有线程安全问题
qxlxi
·
2023-12-25 10:01
#
并发编程
设计模式
java
算法
Java
并发编程
初探 synchronized、volatile、wait、notify
一、新启线程的方式类Thread接口Runnable这两种是在Thread类中官方提到的方法a.joinjoin()方法是让a线程先执行,执行完后继续执行主线程二、线程中断privatestaticclassUseThreadextendsThread{publicUseThread(Stringname){super(name);}@Overridepublicvoidrun(){while(!
子夜听雨
·
2023-12-25 05:48
Java并发编程
java
jvm
开发语言
【并发设计模式】聊聊两阶段终止模式如何优雅终止线程
在
并发编程
中,针对线程的操作,也抽象出对应的并发设计模式。
qxlxi
·
2023-12-25 04:01
#
并发编程
设计模式
java
开发语言
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他