技术栈
juc
慕木沐
4 天前
后端
·
并发
·
juc
·
汇编指令
【JUC并发】cmpxchg和lock指令
在多线程或多处理器系统中,多个处理器可能同时访问和修改同一片内存数据。为了确保数据一致性和操作的原子性,处理器需要提供机制来同步对共享内存的访问。CMPXCHG 和 LOCK 指令就是用于实现这些同步机制的关键。
HelloWorld. py
2 个月前
java
·
juc
JUC-ReentrantLock 锁粒度为什么更小
ReentrantLock 可以选择在等待锁的时候中断退出,而不必一直等待锁释放synchronized 中的线程一旦进入阻塞状态,除非锁被释放,否则无法中断退出
lazy★boy
2 个月前
juc
JUC学习笔记(一)
JUC学习笔记(二) JUC学习笔记(三)本文记录了学习黑马程序员课程黑马程序员深入学习Java并发编程,JUC并发编程全套教程的笔记,方便查阅复习使用
lazy★boy
2 个月前
juc
JUC学习笔记(三)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档即AbstractQueuedSynchronizer(抽象类),是阻塞式锁和相关的同步器工具的框架
小小工匠
3 个月前
juc
·
countdownlatch
·
exchanger
·
phaser
·
semaphore
·
cyclicbarrier
J.U.C Review - 常见的通信工具类解析
Java 的 java.util.concurrent 包提供了许多实用的工具类,用于简化并发编程。这些工具类帮助开发者管理和协调多线程操作,从而避免手动实现复杂的同步机制。下面是一些主要的工具类及其作用的概述:
水w
3 个月前
java
·
开发语言
·
线程池
·
juc
“线程池中线程异常后:销毁还是复用?”
目录一、验证execute提交线程池中测试结论二、验证submit提交线程池中测试结论三、源码解析查看submit方法的执行逻辑
Czi橙
3 个月前
java
·
spring
·
jdk
·
多线程
·
并发编程
·
juc
深刻理解JDK中线程池的使用
线程结构关系ThreadPoolExecutor使用int的高3位来表示线程池状态,低29位标识线程数量.
luming-02
3 个月前
java
·
开发语言
·
jvm
·
java-ee
·
juc
图文详解ThreadLocal:原理、结构与内存泄漏解析
目录一.什么是ThreadLocal二.ThreadLocal的内部结构三.ThreadLocal带来的内存泄露问题
Dexu7
3 个月前
juc
·
java并发编程
【Java 并发编程】(三) 从CPU缓存开始聊 volatile 底层原理
原子性问题, 就不多说了, 下面重点介绍一下如何解决有序性和可见性问题;原则固然好, 问题是怎么实现呢? 主要就是 synchronized + volatile, synchronized已经介绍过, 这里介绍 volatile, 让我们先从缓存开始说起;
少不入川。
4 个月前
java
·
juc
·
threadlocal
ThreadLocal源码分析
ThreadLocal 是 Java 中的一个非常有用的类,它提供了一种线程局部变量,即每个线程都可以访问到自己独立初始化过的变量副本,这个变量对其他线程是不可见的。最常见的用法就是用户请求携带用户ID请求某个接口的时候,在整个链路中需要用户信息的时候,通过AOP将用户信息查出来放到ThreadLocal当中。 其本质上是将共享变量放到每个线程的ThreadLocalMap成员变量中,更直白的说就是把这个变量的副本存到了Thread中。ThreadLocalMap是一个重写的HashMap,重写目的在于将
p_fly
4 个月前
java
·
多线程
·
juc
【JavaEE】CAS原理实现 + 常见应用
本文基于jdk8参考:黑马程序员深入学习Java并发编程,JUC并发编程全套教程_哔哩哔哩_bilibili
喵先森爱吃鱼
4 个月前
java
·
多线程
·
juc
(五)共享模型之无锁
有如下需求,保证 account.withdraw 取款方法的线程安全原有实现并不是线程安全的执行测试
zzlyyds
4 个月前
java
·
juc
JUC并发工具类-------CountDownLatch、Cyclicbarrier
Countdownlatch倒计时锁,用于线程间同步协作,让一个线程等待其他所有线程完成后在执行。主线程等待线程1,2,3完成之后再执行:
一条行走的鱼
4 个月前
java
·
并发编程
·
juc
并发编程-10阻塞队列BlockingQueue
一 认识阻塞队列 1.1 Queue接口 jdk提供了一个顶层的队列接口,主要有一下方法: public interface Queue extends Collection { boolean add(E e);
我是鸹貔
4 个月前
java
·
juc
Java线程池
线程池:一个容纳多个线程的容器,容器中的线程可以重复使用,省去了频繁创建和销毁线程对象的操作。线程池的核心思想是线程复用,即同一个线程可以被重复使用,来处理多个任务。也就是使用池化技术 (Pool),一种编程技巧,核心思想是资源复用,在请求量大时能优化应用性能,降低系统频繁建连的资源开销。
Rcain_R
6 个月前
java
·
后端
·
高并发
·
线程
·
juc
·
random
·
threadlocal
JUC下的ThreadLocalRandom详解
ThreadLocalRandom 是Java并发包(java.util.concurrent)中提供的一个随机数生成器类,它是从Java 7开始引入的。相较于传统的Math.random()或Random类,ThreadLocalRandom更适用于多线程环境,因为它为每个线程维护了一个独立的随机数生成器实例,减少了线程之间的竞争,提高了性能。
深夜无眠T
6 个月前
java
·
并发编程
·
juc
·
synchronized
JUC-synchronized练习-交替打印ABC
今天来练习一下synchronized简单来利用synchronized实现一个字符串的交替打印主要的实现设置一个全局的变量state,线程执行通过不断累加state,根据state对三取余的结果来判断该线程是否继续执行还是进入等待。并通过synchronized锁住一个共享变量lock来进行上锁。
shall_zhao
7 个月前
juc
设计模式——保护性暂停
即 Guarded Suspension,用在一个线程等待另一个线程的执行结果 要点一个线程等待另一个线程的执行结果
深夜无眠T
7 个月前
java
·
单例模式
·
并发编程
·
juc
JUC 单例模式样例(极限性能优化)
单例模式是一种创建型设计模式,其目的是确保一个类只有一个实例,并提供全局访问点。单例模式通常用于管理全局状态、资源共享或限制资源访问的情况下。
一枚coin
7 个月前
java
·
开发语言
·
线程
·
thread
·
juc
Java中的线程
目录创建线程的4种方式线程的生命周期线程状态之间的转换线程方法run()、start()sleep()、 yield()