并发

callJJ3 天前
数据库·mysql·面试·并发·mvcc
深入浅出 MVCC —— 从零理解 MySQL 并发控制本文面向初学者,从最基础的概念讲起,一步步带你理解 MySQL 中 MVCC(多版本并发控制)的工作原理。不需要任何前置知识,看完就能在面试中讲清楚 MVCC。 希望能对大家有帮助!
西门吹雪分身3 天前
java·并发·juc·
JUC之公平锁与非公平锁ReentrantLock抢票案例非公平锁演示: b没有抢到票,基本都被c抢了。 非公平锁改成公平锁后的效果
消失的旧时光-19433 天前
java·开发语言·c++·并发
C++ 多线程与并发系统取向(二)—— 资源保护:std::mutex 与 RAII(类比 Java synchronized)你有一个共享容器:两个线程同时往里面 push_back()。会发生什么?你可能会说:vector 不是自动扩容的吗?
消失的旧时光-19434 天前
开发语言·c++·并发
C++ 多线程与并发系统取向(七)—— 并发排障与工程纪律(从“会写”到“能控场”)所有并发 bug,本质都落在三类:你必须学会区分它们。即使 counter 是 atomic,也不安全。
消失的旧时光-19434 天前
开发语言·jvm·c++·并发
C++ 多线程与并发系统取向(五)—— std::atomic:原子操作与状态一致性(类比 Java Atomic)前面我们已经学了:那为什么还需要:因为有一种场景:你不是在保护“复杂资源” 你只是想保证“某个状态是安全的”
郝学胜-神的一滴8 天前
开发语言·数据结构·c++·算法·多线程·并发
Effective Modern C++ 条款39:一次事件通信的优雅解决方案在多线程编程的世界里,线程间的通信如同精密的舞蹈——需要完美的时机、清晰的信号和高效的协调。想象这样一个场景:一个线程负责检测某个重要事件(如数据初始化完成),而另一个线程需要等待这个事件发生后才能继续执行。这种"一次性事件通信"在并发编程中无处不在,却往往成为性能瓶颈和bug的温床。
郝学胜-神的一滴9 天前
开发语言·数据结构·c++·程序人生·多线程·并发
Effective Modern C++ 条款38:线程句柄析构行为与Vibe Coding优化指南在C++的并发编程中,std::thread和std::future是两大核心工具,但它们的析构行为却大相径庭。为什么有的future析构会阻塞?为什么有的std::thread析构会导致程序崩溃? 本文将深入剖析这些行为,并结合Vibe Coding(AI辅助编程)** ,探讨如何优化提示词(Prompt)来高效解决这类问题。
装不满的克莱因瓶9 天前
jmeter·线程池·多线程·并发·resttemplate·qps·压测
Java高并发异步请求实战,Jmeter暴力压测下的解决方案目录一、模拟并发实战环境二、高并发下异步请求解决方案一:异步请求2.1 @Async注解主启动类加注解
郝学胜-神的一滴11 天前
开发语言·c++·程序人生·多线程·并发·std
Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合BiliBili上对应的视频为:https://www.bilibili.com/video/BV1iZZgBiE9j
ps酷教程16 天前
java·并发
CompletableFuture学习Object的wait和notify&为什么要先获取锁,才能调用wait/notify&虚假唤醒Future&FutureTask异步学习
C雨后彩虹24 天前
java·多线程·并发·cas·异步·
CAS 在 Java 并发工具中的应用在前面文章中,我们系统学习了 CAS 的核心思想、底层实现以及三大核心问题的解决方案。理论知识最终要服务于实践,而 CAS 作为 Java 无锁并发编程的基石,早已深度融入 JDK 的并发工具体系中。
heartbeat..1 个月前
java·数据库·redis·缓存·并发
Redis 中的锁:核心实现、类型与最佳实践Redis 实现锁的核心依赖两个特性,也是区别于普通内存锁的关键:Redis 锁的实现围绕以下核心命令展开,其中 **SET 多参数命令 ** 是目前最优的基础加锁命令:
C雨后彩虹1 个月前
java·线程·多线程·并发
Java 并发程序性能优化:思路、方法与实践在高并发业务场景下(如电商秒杀、直播带货、金融交易),Java 并发程序的性能直接决定了系统的吞吐量、响应时间和稳定性。很多时候,简单的线程安全实现(如无脑加锁)虽然能保证数据一致性,但会带来严重的性能瓶颈 —— 锁竞争导致线程阻塞、上下文切换开销飙升、CPU 利用率不足等问题。
没有bug.的程序员1 个月前
java·开发语言·多线程·并发·cas·synchronized·
Java锁优化:从synchronized到CAS的演进与实战选择在多核CPU统治计算领域的今天,并发(Concurrency)不再是高级开发者的加分项,而是每一位工程师的生存底座。然而,并发是一把双刃剑:它赋予了程序极高的吞吐能力,也带来了致命的线程安全隐患。
zhujian826371 个月前
华为·harmonyos·并发·异步锁
二十九、【鸿蒙 NEXT】异步锁实现并发控制在开发鸿蒙代码时,经常会用到async的异步函数,假设函数名称是A,如果A函数里面有个异步操作很耗时的话,我们可能会用到缓存,将耗时操作的结果保存到缓存中,如果下次再有调用A函数的话,直接返回缓存中的值。但是有时候,当缓存还没有值的时候,A函数在短时间内被调用多次,导致耗时函数会被执行多次,可能导致阻塞主线程的问题。下面首先复现下这种场景,并给出一个解决方案。
且去填词1 个月前
golang·并发·数据流水线
并发模式(Patterns):Worker Pool 与 Pipeline 模式实现"Primitives are easy; Architecture is hard." —— 学会了 go 关键字只是第一步,如何组织它们才是工程能力的体现。
C雨后彩虹1 个月前
java·多线程·并发·volatile
volatile 实战应用篇 —— 典型场景在上一篇文章中,我们深入剖析了 volatile 的底层原理,知道它通过强化 JMM 交互规则保证可见性,通过插入内存屏障保证有序性,但不具备原子性。
没有bug.的程序员1 个月前
java·开发语言·性能优化·并发·源码解析·并发容器
Java 并发容器深度剖析:ConcurrentHashMap 源码解析与性能优化在 Java 并发编程的江湖中,如果说 HashMap 是每一位初学者的“敲门砖”,那么 ConcurrentHashMap(以下简称 CHM)则是每一位中高级开发者通往高并发世界的“必经之路”。
roman_日积跬步-终至千里1 个月前
并发
【多线程编程】CompletableFuture 使用指南(基础篇):从原理到 API想象一下这样的场景:你需要查询用户信息、订单列表和积分数据,传统方式是一个接一个地等待,总耗时 650 毫秒。而使用 CompletableFuture,这三个查询可以同时进行,总耗时只需要 300 毫秒——这就是异步编程带来的性能飞跃。
这周也會开心1 个月前
java·多线程·并发
多线程与并发-知识总结11.1、start()方法:用于创建并启动一个新的独立子线程调用start()时,JVM 会为该 Thread 实例分配新的线程资源(脱离当前调用线程),将线程状态置为RUNNABLE,等待 CPU 调度执行。新线程的执行逻辑由run()方法定义,但start()不会直接调用run(),而是由 JVM 在新线程中自动触发run()方法的执行。