TechBlog
首页分类标签搜索关于
← 返回标签列表
加载中...

© 2025 TechBlog. All rights reserved.

#标签

共 15 篇文章
深入剖析AQSJava并发编程的基石与灵魂

深入剖析AQSJava并发编程的基石与灵魂

AQS是Java并发包的核心框架,采用模板方法模式为各种同步器提供基础实现。本文深入分析AQS的FIFO队列管理、状态机机制、独占/共享模式等核心原理,通过ReentrantLock、Semaphore等典型实现详解AQS的工作机制。包含源码级分析、流程图解、性能对比、实战案例,帮助开发者深入理解Java并发编程的底层支撑。

时间:11/22/2025

深入理解GoLang的并发编程一互斥锁Mutex深度解析

深入理解GoLang的并发编程一互斥锁Mutex深度解析

Go的Mutex通过三层获取机制(快速路径、自旋优化、排队等待)和两种模式(正常/饥饿)实现高效并发。正常模式下新goroutine可自旋竞争,饥饿模式则严格按FIFO顺序传递锁。但存在一个潜在饥饿问题:当新goroutine持续置位mutexWoken时,队列中的goroutine可能长期得不到唤醒。Mutex仅在唤醒时才检查等待时间切换饥饿模式,这种场景下饥饿状态可能无法被及时检测。问题涉及Mutex内部唤醒机制与饥饿模式切换的协调,需要进一步研究源码验证。

时间:11/18/2025

多线程阻塞等待Blocking-Wait以C为例

多线程阻塞等待Blocking-Wait以C为例

阻塞等待是多线程编程中的核心机制,指线程在条件不满足时暂停执行并释放CPU资源。相比忙等待(自旋锁),它更节约CPU但会增加上下文切换开销。C++中常见的阻塞等待场景包括:互斥锁(std::mutex)获取、条件变量(std::condition_variable)等待、线程join操作、带超时的等待以及future/promise异步操作。合理使用阻塞等待能提高多线程程序效率,避免资源浪费。文章通过多个C++代码示例展示了不同阻塞等待的实现方式及其适用场景。

时间:10/12/2025

缓存锁Cache-Lock是什么

缓存锁Cache-Lock是什么

缓存锁是现代处理器优化总线锁性能的精细锁机制。它通过锁定单个CPU核心的局部缓存行(而非整个系统总线),结合MESI等缓存一致性协议保证原子性。工作流程包括检查缓存状态、执行锁定操作及处理共享状态。相比总线锁,缓存锁显著提升多核系统的并行性能,但面临缓存一致性流量问题。现代CPU优先使用缓存锁,仅在跨缓存行等特殊情况下回退到总线锁。该机制成为实现高效原子操作和无锁编程的关键硬件基础。

时间:10/04/2025

Java多线程与高并发专题原子类和-volatilesynchronized-有什么异同

Java多线程与高并发专题原子类和-volatilesynchronized-有什么异同

Java多线程与高并发专题——原子类和 volatile、synchronized 有什么异同?

时间:03/15/2025

一文讲通锁标记对象stdadopt_lock盲点

一文讲通锁标记对象stdadopt_lock盲点

一文讲通锁标记对象std::adopt_lock盲点

时间:03/14/2025

多线程程序的测试和调试_第11章_C并发编程实战笔记

多线程程序的测试和调试_第11章_C并发编程实战笔记

多线程程序的测试和调试

时间:03/13/2025

并行算法_第十章_C并发编程实战笔记

并行算法_第十章_C并发编程实战笔记

并行算法

时间:03/13/2025

2025年Java面试题目收集整理归纳持续更新

2025年Java面试题目收集整理归纳持续更新

9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?10、Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个master,另外 10 个选了另一个 master, 怎么办?35、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证redis 中的数据都是热点数据?31、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

时间:03/13/2025

高级线程管理_第九章_C并发编程实战笔记

高级线程管理_第九章_C并发编程实战笔记

高级线程管理

时间:03/13/2025

Java多线程与高并发专题原子类是如何利用-CAS-保证线程安全的

Java多线程与高并发专题原子类是如何利用-CAS-保证线程安全的

Java多线程与高并发专题——原子类是如何利用 CAS 保证线程安全的?

时间:03/13/2025

Java并发编程实战单例模式-阻塞队列的终极实现指南

Java并发编程实战单例模式-阻塞队列的终极实现指南

单例模式与阻塞队列是构建高并发系统的两大核心设计利器。本文从基础到实战,深度解析单例模式的饿汉式、懒汉式实现,直击线程安全痛点——从原子操作、锁优化到指令重排序的终极解决方案;结合阻塞队列的设计原理,手把手教你用循环数组实现高性能队列,并落地生产者-消费者模型,解决系统解耦、流量削峰等实际难题。无论你是新手还是资深开发者,这篇指南将助你掌握并发编程的底层逻辑与高效实践!

时间:03/12/2025

Java多线程与高并发专题为什么-Map-桶中超过-8-个才转为红黑树

Java多线程与高并发专题为什么-Map-桶中超过-8-个才转为红黑树

Java多线程与高并发专题——为什么 Map 桶中超过 8 个才转为红黑树?

时间:03/06/2025

Java中的互斥锁介绍

Java中的互斥锁介绍

互斥锁是一种广泛应用于多线程编程中的并发控制机制。在Java中,互斥锁有很多不同的实现方式,在本文中

时间:01/09/2025

全面理解Java内存模型

全面理解Java内存模型

全面理解Java内存模型...

时间:11/10/2021