tag

并发

共 60 篇文章。
全部文章GoTypeScript游戏开发小游戏独立开发者游戏设计Godot书稿RustPython性能优化游戏引擎PRDSaaS
scala

Scala 专题:从 Actor 并发到函数式编程与大数据生态

Scala 是一门融合面向对象与函数式编程的多范式 JVM 语言,由 Martin Odersky 于 2004 年设计。本专题系统覆盖 Scala 函数式编程(不可变/纯函数/高阶函数/Option)、集合库与性能选型、类型系统(泛型/ADT/协变逆变/类型类)、Actor 并发与 Akka 集群(监督/集群分片/容错)、纯函数式效果系统(Cats Effect IO / ZIO)、类型安全数据库访问(Slick/Doobie/Quill)、Web 与 HTTP 服务(Play/akka-http/http4s)、Scala 3 元编程(inline/Match Types/宏)、测试体系(ScalaTest/MUnit/ScalaCheck)与构建工具(sbt/Mill/Scala CLI)、大数据生态(Spark RDD/DataFrame/DAG 优化)以及 Scala 3(Dotty)新特性与迁移,进一步扩展流处理(Akka Streams/fs2/反压)、类型级编程(Shapeless/Match Types/编译期计算)、跨平台(Scala.js/Scala Native/crossProject)、JVM 性能调优(JIT/GC/热点)、领域建模(ADT/opaque type/六边形架构)与微服务实践(拆分/通信/Saga/可观测性),并深入并发与原子性(CAS/无锁/并发集合选型/STM)、函数式错误处理(ADT 错误建模/Either/Validated/Effect 错误通道)、类型安全配置与特性管理(PureConfig/动态配置/Feature Flag 灰度回滚)、日志追踪与可观测性(结构化日志/OpenTelemetry/指标采集/IOLocal 异步贯穿)、序列化与协议设计(Circe/Protobuf/Avro/schema 演进/反序列化安全)以及 Scala 2→3 迁移与重构(交叉编译/scalafix/渐进式迁移/宏重写),并深入 Cats Effect 运行时(Fiber/Ref/Resource/Supervisor)、ZIO 依赖注入与错误通道(ZLayer/Scope/Runtime)、Tagless Final 代数式设计(类型类 DSL/多解释器)、函数式架构(六边形/纯核心与副作用外壳)与 Scala Native + GraalVM AOT 编译部署(C 互操作/Native Image/容器化),并补齐 Akka 到 Apache Pekko 的许可证迁移、Cats Effect 资源管理与生命周期、fs2 流处理与背压、Circe 与 jsoniter-scala 的 JSON 编解码性能、Akka Persistence 事件溯源与 CQRS,以及 Scala CLI 工具链现代化,为 JVM 生态下的函数式、高并发、大数据与工程化开发提供完整指南。

11 分钟阅读
Scala Actor akka
os

同步原语:信号量、互斥锁、条件变量与读写锁

在多核处理器成为主流的当下,并发编程已是必备技能。然而,并发带来的竞态条件(Race Condition)和数据不一致问题要求我们借助同步原语来协调多个执行单元对共享资源的访问。本文从底层实现出发,逐一剖析 Linux 中最常用的同步机制:互斥锁、信号量、条件变量、读写锁、自旋锁和 RCU,并给出选

8 分钟阅读
操作系统 Linux 同步
cpp

C++ 原子操作与内存序:从无锁编程到内存屏障

为什么需要无锁编程 在多线程程序中,互斥锁(mutex)是最常用的同步原语,但它并非银弹。当线程竞争锁失败时,操作系统会将其挂起,引发一次开销可观的上下文切换。在高度竞争的场景下,多个线程反复获取和释放同一把锁,还会导致缓存行颠簸(cache line bouncing)——锁变量所在的缓存行在各个

8 分钟阅读
C++ 并发 原子操作