并发

我不会起名字3227 小时前
redis·go·并发·延迟双删·缓存一致性
Redis 从 0 到 1(十二):先删缓存还是先更新库?4 种方案的 Go 并发实测我不会起名字322 · 后端 / 算法 / 数据库📘 技术栈 | 🧩 力扣 Hot100 | 🐹 Go 项目 | 🟥 Redis | 🐬 MySQL
kyle~5 天前
linux·数据结构·c++·多线程·并发
数据结构 --- 无锁队列(Lock-Free Queue)在高并发系统中,队列是线程间数据传递、任务调度和异步处理的基础组件。传统线程安全队列通常通过 std::mutex 保护共享状态,实现简单且正确性易于保障,但在高竞争场景下,锁竞争会导致线程阻塞、调度延迟与上下文切换开销,显著影响系统实时性与吞吐能力。
Pniubi14 天前
java·线程·线程池·多线程·并发
区分Java创建线程池、多线程多线程是并发执行的能力;线程池是管理线程的容器,用来复用线程、避免频繁创建销毁线程。上面的东西看不懂,本质还是对线程没有足够了解,任务执行在哪其实自己都不知道:
淡海水16 天前
算法·unity·c#·并发·gc·增量
02-06-原理篇-增量式GC与并发GC篇章:02-原理篇 阅读时间:约 40 分钟 前置知识:了解 STW 暂停在游戏和实时交互应用中,GC暂停(Stop-The-World, STW)是最令人头疼的性能问题之一。一次Full GC可能暂停几十甚至上百毫秒,导致明显的卡顿。为了减少暂停时间,GC设计者们发展出了三种核心策略:增量式GC(Incremental GC)、并发式GC(Concurrent GC)和并行式GC(Parallel GC)。
流浪00118 天前
linux·线程·并发·同步·互斥·阻塞队列·生产者消费者模型
Linux系统篇46——线程(十一) 生产者消费者模型,三种关系和一个交易场所📚 本文收录于「流浪」的系列专栏🏠 博客主页:流浪 | 📝 原创首发于 CSDN前言: 线程(十)把条件变量讲到了底,唤醒机制加等待队列,wait 的两段阻塞也拆完了。本篇把互斥锁和条件变量组合成完整的多线程协作模型——生产者消费者。先摆清两种角色和一个交易场所,再逐一推演三种关系为什么存在,最后回答一个最容易想当然的问题:进出交易场所明明是串行的,高效到底从哪来。
要开心吖ZSH21 天前
redis·mysql·tomcat·并发·连接池·qps
系统并发与 QPS 上限:从 200 个线程到每秒几万请求图形验证码限流优化:从 3 秒阻塞到毫秒级拒绝的踩坑记录图形验证码故障复盘时,我反复提到一句话:"Tomcat 的 200 个工作线程被占满了"。可能有同学会有疑问:这 200 是哪来的?是所有服务器共享的吗?我们这套系统到底能扛多少并发、多少 QPS?
徐子童1 个月前
java·mysql·面试题·秋招·并发·mvcc
介绍MVCC机制MVCC机制是为了提高数据库的并发性能,通过不加锁的形式,实现读写并发的问题,也就是读不影响写,写不影响读
潘潘的嵌入式日记1 个月前
嵌入式·并发·数据一致性·i2c·快照
I²C 主机读到的 U16 偶尔跳变?先修复多字节快照发布一句话: 多字节监测值被后台任务逐字节更新时,I²C 中断可能夹在中间读取,得到“新高字节 + 旧低字节”;先组装完整快照,再用短临界区整体发布。
Mr. zhihao1 个月前
并发·cas
彻底搞懂 LongAdder:解决 AtomicLong 高并发 CPU 空转难题(原理+案例+场景对比)在 Java 并发编程中,我们都知道 AtomicLong 依靠 CAS 乐观锁实现无锁原子计数,规避了 synchronized 重量级锁的内核态切换、上下文切换、缓存失效等性能损耗。
随遇而安zx1 个月前
java·并发·disruptor
【并发】---Disruptor 原理、源码与实战 深度解析基于:LMAX Disruptor 4.0.0(2023-09-29 发布,Java 11+);文内标注 ⚠️ 4.0 变更 处为与 3.4.4 的差异
随遇而安zx2 个月前
java·多线程·并发
【多线程】---实战:CompletableFuture编排基于:JDK 8+(orTimeout、completeOnTimeout、Executor defaultExecutor() 等标注 JDK 9+)
随遇而安zx2 个月前
java·多线程·并发
【多线程】---ConcurrentHashMap 源码解析基于:OpenJDK JDK 8u 的 java.util.concurrent.ConcurrentHashMap(对照 JDK 7 分段锁实现与 JDK 9+ 演进)
samble2 个月前
c#·wpf·并发·mvvm·线程安全·工业控制
从零搭建工业控制系统(二十二):线程安全与并发控制这是「从零搭建工业控制系统」系列第22篇。前面讲了状态管理,这篇讲并发——工业软件有十几个后台服务同时跑,怎么保证不互相打架。
my_realmy2 个月前
java·多线程·并发·锁·生产者消费者模式
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)适用版本:JDK 8 学习目标:把“类、对象、封装、继承、多态、抽象、接口、内部类、异常”串成一个完整的知识框架。 阅读建议:代码按知识点拆分;为展示继承、接口等关系,部分片段会把相关类型放在一起。实际运行时,请将每个 public class 放在同名的 .java 文件中,并补齐片段依赖的类型。
Mr. zhihao2 个月前
jvm·并发·偏向锁
JVM 偏向锁 4 秒延迟:从源码动机到 JEP-374 废弃全链路面试高频考点:偏向锁为什么要延迟启动?启动期到底哪些对象在抢锁?后来为什么整个偏向锁都被删了? 本文所有结论均附 OpenJDK 源码 / JEP 原文出处,不杜撰。
名字还没想好☜2 个月前
开发语言·爬虫·python·并发·asyncio
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦写异步爬虫或批量任务时,新手最容易掉进的坑是这样的:一次性把 5000 个 URL 全丢进 asyncio.gather。
莫得感情 o2 个月前
java·并发
并发 14 · 收官:虚拟线程与结构化并发第 8 篇讲线程池时,我们花了很大篇幅回答一个问题:“到底该开多少线程?” 答案是一套要权衡 CPU 核数、IO 等待占比、还得靠压测反复迭代的经验公式。第 13 篇讲异步编排时,我们又用 CompletableFuture 把一段本来很直白的业务逻辑,拆成了一串 thenCompose、thenCombine 的链式回调——为的是在等 IO 的时候别把宝贵的线程占着。
喵同志不止步于码农2 个月前
java·开发语言·后端·并发·缓存一致性
Java Caffeine 快速入门在高并发读写的场景下,基础的ConcurrentHashMap 可以保证并发安全,但是过期策略、淘汰策略都需要手动实现,Guava Cache由此诞生,但是身为“智能缓存”的Guava Cache本身不够“智能”。因为LRU缓存在少数场景下可能无法保证高缓存命中率,因此高并发场景下,其依旧存在瓶颈。这也是Caffeine产生的原因,继承 Guava Cache 的优雅 API, 同时在性能和命中率上实现质的飞跃。
莫得感情 o2 个月前
java·并发
并发 13 · 异步编排秒杀下单成功之后,系统要做好几件事:生成订单、扣减库存(如果放在下单接口内已经做过,这里可能是记账/对账)、给用户发一张优惠券、给下游推送一条消息通知发货系统。这几件事有的必须先后串起来(订单生成依赖扣库存成功),有的互不依赖可以并行跑(发优惠券和推消息谁也不用等谁),如果全部塞进一个方法里顺序同步执行,接口响应时间就是这几步耗时的总和——用户会觉得"下单怎么这么慢"。