Auto-sync: 2026-04-22 12:02
This commit is contained in:
36
wiki/concepts/并发编程.md
Normal file
36
wiki/concepts/并发编程.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: "并发编程"
|
||||
type: concept
|
||||
tags: [software-engineering, concurrency, multi-threading, async]
|
||||
sources: [开发经验与项目规范整理文档]
|
||||
last_updated: 2025-12-30
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
**并发编程** 是指程序中多个执行流同时存在的编程范式,需要处理共享资源、数据竞争、锁机制等问题。
|
||||
|
||||
## Core Principles
|
||||
|
||||
- 清晰区分共享资源
|
||||
- 避免数据竞争(Race Condition)
|
||||
- 必要时加锁或使用线程安全结构
|
||||
- 区分「并发处理」和「异步处理」的差异
|
||||
|
||||
## Concurrency vs Async
|
||||
|
||||
| 维度 | 并发(Concurrency) | 异步(Async) |
|
||||
|------|---------------------|--------------|
|
||||
| 目标 | 同时执行多个任务 | 不阻塞等待 I/O |
|
||||
| 实现 | 多线程、多进程 | 事件循环、回调、Promise |
|
||||
| 问题 | 数据竞争、死锁 | 回调地狱、状态管理 |
|
||||
|
||||
## Related Concepts
|
||||
|
||||
- [[单一职责原则]] — 线程安全的函数应保持单一职责
|
||||
- [[输入-处理-输出模型]] — 并发环境下的数据流管理
|
||||
- [[消息队列]] — 替代直接共享资源的并发安全方案
|
||||
|
||||
## Source Reference
|
||||
|
||||
来源:[[开发经验与项目规范整理文档]]
|
||||
Reference in New Issue
Block a user