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&并发编程
小周学JAVA—八股一
1、
并发编程
三要素?(1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。
满屋的酒气也听彻妄语
·
2024-01-20 03:05
java
笨蛋学JUC
并发编程
-进程与线程
JUC
并发编程
-进程与线程1.进程与线程1.1概念1.1.1进程线程之间对比1.1.2并发与并行1.1.3同步与异步1.1.4单线程与多线程1.2创建和运行线程1.2.1直接使用Thread1.2.2使用
Today-Saturday
·
2024-01-19 22:15
笨蛋学JUC
java
JUC并发编程
ReentrantReadWriteLock:深入解析与最佳实践
文章目录前言ReentrantReadWriteLock的`特性`ReentrantReadWriteLock的使用最佳实践实践场景读多写少notice缓存场景总结前言在
并发编程
中,锁是用于控制多个线程对共享资源的访问的一种机制
小阳小朋友
·
2024-01-19 19:29
lock
java
数据库
锁
高
并发编程
06 ~ AQS:AbstractQueuedSychronizer
前面的章节中,我们已经解除到了JUC,JUC可以大大的提高线程的安全性,而JUC的核心则是AQS。AQS底层原理原理图AQS数据结构图底层设计使用Node实现FIFO队列,是一个可以用于构建锁和其他的同步组件的一个独立的基础框架;使用一个int类型的state表示状态和一个可重入锁ReentrantLock,在这个ReentrantLock中state表示获取锁的线程数:state为0,则没有现成
帅可儿妞
·
2024-01-19 19:29
并发编程
之MESI缓存一致性协议
目录CPU缓存架构CPU多核缓存架构CPU缓存架构缓存一致性的解决方案缓存一致性协议实现原理总线窥探工作原理窥探协议类型缓存一致性协议MESI协议伪共享问题CPU缓存架构CPU缓存即高速缓冲存储器,是位于CPU与主内存间的一种容量较小但速度很高的存储器。CPU高速缓存可以分为一级缓存,二级缓存,部分高端CPU还具有三级缓存,每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和
山鸟与鱼!
·
2024-01-19 16:24
并发编程
缓存
java
后端
并发编程
之线程池ThreadPoolExecutor分析上
目录线程池内置线程池自定义线程池线程池执行任务的方式线程池的五种状态线程池中线程的关闭线程池源码的基础属性线程池线程池可以分为两种主要类型:内置线程池和自定义线程池。内置线程池1.FixedThreadPool(固定大小线程池)使用Executors.newFixedThreadPool(intn)创建,其中n是池中线程的数量。固定大小,适用于处理固定数量的任务。ExecutorServiceex
山鸟与鱼!
·
2024-01-19 16:24
并发编程
java
后端
并发编程
之线程池ThreadPoolExecutor分析下
目录execute方法addWorker方法runWorker方法processWorkerExit方法getTask方法shutdown方法shutdownNow方法mainLock锁execute方法publicvoidexecute(Runnablecommand){if(command==null)thrownewNullPointerException();//获取ctl//ctl初始值
山鸟与鱼!
·
2024-01-19 16:24
并发编程
java
开发语言
后端
并发编程
之三大特性及JMM内存模型
目录原子性如何保证原子性可见性如何保证可见性有序性如何保证有序性Java内存模型(JMM内存模型)Java内存模型的一些关键概念:主内存与工作内存交互协议Java内存模型通过以下手段来确保多线程程序的正确性:锁机制volatilevolatile禁止指令重排序Happens-Before并发三大特性原子性、可见性、有序性原子性原子性是指一个操作是不可中断的。一个原子操作是一个不可分割的整体,要么全
山鸟与鱼!
·
2024-01-19 16:21
并发编程
java
开发语言
后端
蚂蚁Java互联网架构师第1期高端
教程目录├─0001-多线程快速入门.zip├─0002-多线程之间实现同步.zip├─0003--多线程之间通讯.zip├─0004--Java
并发编程
.zip├─0005--数据交换格式与SpringIOC
飞雪雪团队
·
2024-01-19 13:05
Go语言在语音处理中的优势
并发性能Go语言内置了轻量级的协程(goroutine)和通信机制(channel),使得
并发编程
变得比较简单而高效。在语音处理中能够利用go
咕噜签名分发
·
2024-01-19 13:15
golang
开发语言
后端
[03][01][04] ReentrantLock的底层原理分析
J.U.C简介Java.util.concurrent是在
并发编程
中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。
悠娜的奶爸
·
2024-01-19 13:46
Java
并发编程
:
并发编程
中的ExecutionException异常
一、什么是ExecutionException在
并发编程
中在执行java.util.concurrent.Future实现类的get方法时,需要捕获java.util.concurrent.ExecutionException
玉成226
·
2024-01-19 12:02
【Java并发编程】
java
网络
Java
并发编程
: ExecutorCompletionService详解
一、什么场景下使用ExecutorCompletionService当在项目中我们向使用线程池处理任务时,在任务处理完成后想要的到返回值进而进行其他的逻辑处理,这个时候就可以使用ExecutorCompletionService类,任务执行完成后即可根据返回值进行其他的逻辑处理。使用提供的Executor执行任务的CompletionService。该类安排提交的任务在完成后放置在使用take可访
玉成226
·
2024-01-19 12:59
【Java并发编程】
java
Educoder/头歌JAVA——JAVA高级特性:多线程基础(3)线程同步
目录第1关:
并发编程
的三个概念任务描述相关知识1.原子性2.可见性3.有序性编程要求第2关:使用synchronized关键字同步线程相关知识
并发编程
什么时候会出现安全问题怎么解决线程的安全问题呢?
陆小玖
·
2024-01-19 08:19
java
jvm
开发语言
Redis实战之-分布式锁
可见性:多个线程都能看到相同的结果,注意:这个地方说的可见性并不是
并发编程
中指的内存可见性,只是说多个进程之间都能感知到变化的
Maiko Star
·
2024-01-19 06:23
redis
redis
分布式
数据库
从0开始深入理解并发、线程与等待通知机制
基础概念在正式学习Java的
并发编程
之前,还有几个
并发编程
的基础概念我们需要熟悉和学习。进程和线程进程我们常听说的是应用程序,也就是app,由指令和数据组成。
liushaojiax
·
2024-01-19 02:20
java
CAS:
并发编程
的关键技术
在现代的
并发编程
中,解决多线程竞争条件下的数据一致性问题是至关重要的。CAS(CompareandSwap)是一种常用的
并发编程
技术,用于实现线程安全的原子操作。
爱编程的鱼
·
2024-01-18 22:45
JAVA
java
算法
jvm
【算法Hot100系列】接雨水
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-18 20:02
s6
算法与数据结构
算法
群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-18 18:19
s20
cpolar
cpolar
控制并发线程数的Semaphore
并发编程
是java语言的一个重要组成部分,jdk给我们提供了有些极为有用的并发工具类,让我们在实际开发中能够减少工作量,解决一些特定的业务需求。
守住阳光
·
2024-01-18 15:13
浅析Python自带的线程池和进程池
目录一、线程池原理使用方法优点缺点二、进程池原理使用方法优点缺点三、总结在Python中,多线程和多进程是实现
并发编程
的两种常见方式。
傻啦嘿哟
·
2024-01-18 15:01
关于python那些事儿
python
java
开发语言
Java
并发编程
之Condition
1.前言任意一个Java对象,都有一组监视器方法(定义在java.lang.Object上),主要包括wait()、wait(longtimeout)、notify()以及notifyAll()方法,这些方法与synchronized同步关键字配合,可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能
干天慈雨
·
2024-01-18 15:29
网络 IO 服务器模型 Reactor 与 Proactor
因为在以上两个阶段上各有不同的情况,所以出现了多种网络IO模型服务器模型Reactor与Proactor对高
并发编程
,网络连接上的消息处理,可以分为两个阶段
诗人和酒
·
2024-01-18 11:45
8、
并发编程
万能钥匙 — 管程
一、什么是管程(Monitor)管程:指管理共享变量以及对共享变量的操作过程,让它们支持并发。信号量:操作系统提供的一种协调共享资源的访问方法,地位高于进程。管程和信号量是等价的,即管程能够实现信号量,信号量也能够实现管程。java采用的是管程技术,synchronized关键字及wait()、notify()、notifyAll()三个方法都是管程的组成部分。管程模型包括:MESA模型、Hase
追风筝的人_fbf8
·
2024-01-18 10:52
linux发布微软消息队列,消息队列RabbitMQ入门与5种模式详解
1.RabbitMQ概述简介:MQ全称为MessageQueue,消息队列是应用程序和应用程序之间的通信方法;RabbitMQ是开源的,实现了AMQP协议的,采用Erlang(面向
并发编程
语言)编写的,
乐昂
·
2024-01-18 08:04
linux发布微软消息队列
理解并使用ThreadLocal实现线程级别的数据隔离
目录前言正文ThreadLocal的基本用法实现原理使用场景泛型工具类示例注意事项总结前言在Java
并发编程
中,ThreadLocal是一个非常实用且重要的工具类,它提供了一种线程本地存储机制。
李少兄
·
2024-01-18 07:18
Java
java
jvm
开发语言
JAVEE初阶 多线程基础(九)
线程池一.线程池的概念二.标准库中的线程池参数解析三.拒绝策略中的四个表示方法四.实现线程池一.线程池的概念最开始,进程能够解决
并发编程
问题,但是由于频繁的创建销毁进程,使得消耗的CPU硬件资源特别多,
骑乌龟追火箭1
·
2024-01-17 23:15
java-ee
悲观锁与乐观锁详细讲解
悲观锁和乐观锁是
并发编程
中常用的两种锁机制,用于解决多线程环境下的数据竞争问题。
不爱敲代码吖
·
2024-01-17 11:13
java
java
Java
并发编程
(一)—— 内存模型(JMM)
文章目录1、什么是JMM?2、计算机内存架构3、缓存一致性问题4、指令重排序5、JMM内存模型5.1、JMM主内存和工作内存关系5.2、8个原子操作和8个执行规则5.2.1、8个原子操作5.2.2、8个执行规则5.3、JMM模型的线程间通信6、JMM解决的问题6.1、可见性6.1.1、定义6.1.2、可见性问题6.1.3、如何解决可见性问题6.2、原子性6.2.1、定义6.2.2、原子性问题6.2
有你的星空
·
2024-01-17 04:48
JMM
java线程
java
金三银四-解锁Java
并发编程
的艺术:掌握多线程、同步和并发控制的精髓
又要快到一年一度的金三银四,开始复习啦~!每天一点点。。目录一、Java中的volatile关键字有什么作用?二、解释Java中的synchronized关键字及其工作原理。三、Java中的CAS操作是什么?它如何实现无锁编程?四、讲述Java中的Lock接口及其与synchronized的区别五、什么是线程池?在Java中如何使用线程池?六、Java内存模型中的happens-before原则是
小贤java
·
2024-01-17 04:43
Java面试
Java
SE
java
开发语言
Java面试
金三银四
Java并发编程
学习笔记
浅析项目实践接触到的java并发线程池应用场景
文章目录前言场景一、营销场景-门店活动信息定时校验场景二、算法工程依赖-批量查询数据集总结前言最近研读《java
并发编程
之美》这本书8、9、11章关于线程池的部分,有很多新的收获,在此想结合项目经历,总结分析一下实践中对于线程池的应用场景
无一郎的技术圈
·
2024-01-17 02:36
java
后端
《java
并发编程
之美》学习笔记-知识盲点记录
文章目录@[TOC](文章目录)前言一、InheritableThreadLocal类(第一章1.11节)二、原子操作Adder与Accumulator(第四章)1.LongAdder2.LongAccumulator三、StampedLock锁(第六章)四、守护线程、伪共享、虚假唤醒(第一、二章)1.守护线程2.伪共享3.虚假唤醒4.Unsafe类与LockSupport五、Concurrent
无一郎的技术圈
·
2024-01-17 02:06
java
后端
【算法Hot100系列】全排列
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-17 01:21
s6
算法与数据结构
算法
并发编程
之三——JUC工具类
1.Fork-Join1.1分而治之分治法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同(子问题相互之间有联系就会变为动态规范算法),递归地解这些子问题,然后将各子问题的解合并得到原问题的
夕v雨
·
2024-01-17 00:00
java
java
多线程
并发编程
(五)——线程池
一、什么是线程池为什么要使用线程池在开发中,为了提升效率的操作,我们需要将一些业务采用多线程的方式去执行。比如有一个比较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总就可以了。比如做业务操作时,需要发送短信或者是发送邮件,这种操作也可以基于异步的方式完成,这种异步的方式,其实就是再构建一个线程去执行。但是,如果每次异步操作或者多线程操作都需要新创建一个线程,使用完毕后,线程再
小灰灰-58
·
2024-01-17 00:58
并发编程
java
jvm
并发编程
(一)——线程的基础概念
一、基础概念1.1进程与线程A什么是进程?进程是指运行中的程序。比如我们使用钉钉,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。什么线程?线程是CPU调度的基本单位,每个线程执行的都是某一个进程的代码的某个片段。举个栗子:房子与人比如现在有一个100平的房子,这个方式可以看做是一个进程房子里有人,人就可以看做成一个线程。人在房子中做一个事情,比如吃饭,学习,睡觉。这
小灰灰-58
·
2024-01-17 00:28
并发编程
java
并发编程
(二)——
并发编程
的三大特性
一、原子性1.1什么是
并发编程
的原子性JMM(JavaMemoryModel)。不同的硬件和不同的操作系统在内存上的操作有一定差异的。
小灰灰-58
·
2024-01-17 00:28
并发编程
java
并发编程
(三)——锁
一、锁的分类1.1可重入锁、不可重入锁Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁。重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。不可重入:当前线程获取到A锁,在获取之后尝试再次获取A锁,无法获取到的,因为A锁被当前线程占用着,需要等待自己释放锁再获取锁。1.2乐观锁、悲观锁Java中提供的s
小灰灰-58
·
2024-01-17 00:28
并发编程
java
Juc
并发编程
14——线程计数器CountdownLatch源码剖析
前言作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端专栏简介:juc
并发编程
,讲解锁原理、锁机制、线程池、AQS、并发容器、并发工具等,深入源码,持续更新。
半旧518
·
2024-01-17 00:58
juc
java
juc
并发
多线程
原力计划
Java
并发编程
核心包——JUC
JUC初步作者:李晶晶;日期:2021年4月20日;学习视频:2020权威_juc与jvm
并发编程
Java必学_阳哥-尚硅谷文章目录JUC初步初识Lock抢票案例生产者消费者问题使用Lock解决生产者消费者问题
木子六日
·
2024-01-17 00:57
java
juc
可重入锁
lock
线程池
ThreadPool
并发编程
(七)——JUC并发工具
一、CountDownLatch应用&源码分析1.1CountDownLatch介绍CountDownLatch就是JUC包下的一个工具,整个工具最核心的功能就是计数器。如果有三个业务需要并行处理,并且需要知道三个业务全部都处理完毕了。需要一个并发安全的计数器来操作。CountDownLatch就可以实现。给CountDownLatch设置一个数值。可以设置3。每个业务处理完毕之后,执行一次cou
小灰灰-58
·
2024-01-17 00:26
并发编程
java
开发语言
这可能是最全面的Java
并发编程
八股文了
内容摘自我的学习网站:topjavaer.cn分享50道Java并发高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?嗯,手动创建线程有两个缺点不受控风险频繁创建开销大为什么不受控?系统资源有限,每个人针对不同业务都可以手动创建线程,并且创建线程没有统一标准,比如创建的线程有没有名字等。当系统运行起来,所有线程都在抢占资源,毫无规则,混乱场面
大彬聊编程
·
2024-01-16 23:14
分享
java
开发语言
面试
Java
并发编程
的艺术-Java内存模型
基础共享变量(堆空间中所有的实例域,静态域,数组元素)的访问需要同步,而局部变量不会在线程间共享,所以不存在可见性问题。每一个线程都有一个私有的本地内存(抽象概念)源代码到最终的指令序列执行需经过编译器重排序和处理器重排序JMM要求java编译器在生成指令序列时,插入特定的内存屏障以禁止特定类型的处理器重排序。重排序重排序时遵守数据依赖性(写后读,读后写,写后写)as-if-serial语义:不管
油多坏不了菜
·
2024-01-16 21:56
Java内置锁:深度解析lock和trylock
定义在Java11中,Lock接口是Java
并发编程
中一个重要的接口,它提供了更灵活的线程同步机制,相比于内置的synchronized关键
程序员古德
·
2024-01-16 19:50
java
python
开发语言
原子操作:
并发编程
的守护者
文章目录前言一、原子操作的定义与重要性二、Java中的原子操作类三、CAS指令与原子操作原理四、CAS操作的三个运算符五、CAS操作的循环重试机制六、原子操作在
并发编程
中的应用七、总结前言
并发编程
的守护者在多线程或者
并发编程
中
小阳小朋友
·
2024-01-16 19:47
并发
开发语言
java
【Mybatis系列】Mybatis空值关联
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-16 16:26
s5
数据库
mybatis
Rust 语言从入门到实战 唐刚 学习笔记16
今天我们来了解
并发编程
的另一种范式——使用channel在不同的任务间进行通信。channel翻译成中文就是通道或管道,用来在task之间传递消息。这个概念本身并不难。
zhanglz888
·
2024-01-16 14:20
Rust
语言从入门到实战
唐刚
学习笔记
rust
学习
笔记
JavaEE进阶知识学习----多线程JUC高级知识-2-内存可见性-CAS算法
1.JavaJUC简介在java5.0之后提供了一个java.util.concurrent包(简称JUC),此包中增加了很多在
并发编程
中常用的工具类,用于定义类似于线程的自定义系统,包括线程池,异步IO
Waldeinsamkeit4
·
2024-01-16 13:14
【脑筋急转弯系列】乒乓球称重问题
推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,
并发编程
redis,kafka,Spring,微服务,Netty等常用开发工具系列
檀越剑指大厂
·
2024-01-16 10:42
s6
算法与数据结构
脑筋急转弯
多线程简要理解
多线程是一种
并发编程
技术,允许在同一个进程内同时执行多个线程。每个线程都可以独立地执行特定的任务,从而提高程序的性能和响应能力。并发执行:多线程允许在同一个进程内同时执行多个任务。
ISDF-工软未来
·
2024-01-16 05:04
python
上一页
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
其他