{"id":15028046,"url":"https://github.com/smartkeyerror/psyduck","last_synced_at":"2025-05-15T01:08:04.131Z","repository":{"id":37418275,"uuid":"360107267","full_name":"SmartKeyerror/Psyduck","owner":"SmartKeyerror","description":"Record CS knowlegement with XMind, version 2.0. 使用 XMind 记录 Linux 操作系统，网络，C++，Golang 以及数据库的一些设计","archived":false,"fork":false,"pushed_at":"2022-08-14T06:21:24.000Z","size":80532,"stargazers_count":4436,"open_issues_count":8,"forks_count":525,"subscribers_count":86,"default_branch":"master","last_synced_at":"2025-05-15T01:07:57.370Z","etag":null,"topics":["database","golang","linux","network","os","xmind"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SmartKeyerror.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-21T09:22:04.000Z","updated_at":"2025-05-10T14:02:52.000Z","dependencies_parsed_at":"2022-07-14T03:30:40.291Z","dependency_job_id":null,"html_url":"https://github.com/SmartKeyerror/Psyduck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartKeyerror%2FPsyduck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartKeyerror%2FPsyduck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartKeyerror%2FPsyduck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SmartKeyerror%2FPsyduck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SmartKeyerror","download_url":"https://codeload.github.com/SmartKeyerror/Psyduck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254042,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","golang","linux","network","os","xmind"],"created_at":"2024-09-24T20:07:32.011Z","updated_at":"2025-05-15T01:07:59.122Z","avatar_url":"https://github.com/SmartKeyerror.png","language":"Go","readme":"\n# Psyduck\n\n另一个用 XMind 记录 CS 基础问题的地方，同样提供了 `.xmind` 源文件以及导出的 `.pdf` 文件，XMind 版本为「XMind 2020」。\n\n在 2020 年时，曾花了约 2 个月的时间整理了第一份 XMind 知识库: [ZeroMind](https://github.com/SmartKeyerror/ZeroMind)。\n之所以额外创建一个 Repo 干同样的事情，是因为一方面自己的审美发生了变化，另一方面则是对那些最重要但基础的问题有了更深刻地理解。\n\n温故而知新，孔子诚不欺我。在整理基础知识点的过程中，对诸如 CFS-vruntime、POSIX 条件变量、TCP 和 epoll 等内容有了自己的理解，有一种恍然大悟的感觉。\n\n之所以使用 XMind 来记录这些内容，是因为我非常喜欢《火星救援》里面的一句台词:\n\n\u003e 有时候，所有的情况都会对你不利。所有的坏事一起发生，你就可能会想，就是这样了，这就是我的终点了。面对这种情况，你要么接受，要么想办法解决，这就是一切的真谛。解决问题，你想各种办法，解决一个问题，然后接着解决下一个问题，循环往复，等你解决了足够多的问题，你就可以回家了。\n\n也就是说，面对一个大问题时需要学会将其分解成一个一个的小问题，然后逐一地处理，即\"分而治之\"。下面是一些图片，可以帮助你更好地了解这个项目做了什么:\n\n![](Psyduck.png)\n\n------\n\n\n## :high_brightness: 目录\n\n- [Database](#bento-Database)\n- [Distributed System](#rocket-Distributed-System)\n- [Middleware](#alembic-middleware)\n- [Linux Network Programing](#fire-Linux-Network-Programing)\n- [Operating System](#zap-Operating-System)\n- [Golang](#paw_prints-Golang)\n- [Kubernetes](#art-Kubernetes)\n- [C++](#telescope-C++)\n\n------\n\n## :bento: Database\n\n### MySQL\n\n- [为什么 MySQL 使用 B+Tree?](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E4%B8%BA%E4%BB%80%E4%B9%88MySQL%E4%BD%BF%E7%94%A8B%2BTree.pdf)\n- [InnoDB 数据页结构](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/InnoDB-Page.pdf)\n- [深入浅出 InnoDB Index](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%20InnoDB%20Index.pdf)\n- [InnoDB WAL](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/InnoDB-WAL.pdf)\n- [InnoDB Group Commit](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/InnoDB%20Group%20Commit.pdf)\n- [InnoDB undo log 与 MVCC](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/InnoDB-undo-log%E4%B8%8EMVCC.pdf)\n- [全局锁、表级锁以及行锁（上）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E5%85%A8%E5%B1%80%E9%94%81%E3%80%81%E8%A1%A8%E7%BA%A7%E9%94%81%E4%BB%A5%E5%8F%8A%E8%A1%8C%E9%94%81%EF%BC%88%E4%B8%8A%EF%BC%89.pdf)\n- [全局锁、表级锁以及行锁（中）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E5%85%A8%E5%B1%80%E9%94%81%E3%80%81%E8%A1%A8%E7%BA%A7%E9%94%81%E4%BB%A5%E5%8F%8A%E8%A1%8C%E9%94%81%EF%BC%88%E4%B8%AD%EF%BC%89.pdf)\n- [全局锁、表级锁以及行锁（下）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E5%85%A8%E5%B1%80%E9%94%81%E3%80%81%E8%A1%A8%E7%BA%A7%E9%94%81%E4%BB%A5%E5%8F%8A%E8%A1%8C%E9%94%81%EF%BC%88%E4%B8%8B%EF%BC%89.pdf)\n- [主键的选择](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/%E4%B8%BB%E9%94%AE%E7%9A%84%E9%80%89%E6%8B%A9.pdf)\n- [MySQL Cost-Based Optimizer](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/MySQL%20Cost%20Based%20Optimizer.pdf)\n- [MySQL Join 工作原理浅析](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/MySQL%20JOIN%20%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E6%B5%85%E6%9E%90.pdf)\n- [MySQL Replication——异步与并行复制](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/MySQL%20%E5%BC%82%E6%AD%A5%E5%A4%8D%E5%88%B6.pdf)\n- [MySQL GTID 与半同步复制](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/MySQL/MySQL%20GTID%20%E4%B8%8E%E5%8D%8A%E5%90%8C%E6%AD%A5%E5%A4%8D%E5%88%B6.pdf)\n\n### PostgreSQL\n\n- [索引聚集表与堆表](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/%E6%95%B0%E6%8D%AE%E7%BB%84%E7%BB%87%E6%A0%BC%E5%BC%8F.pdf)\n- [PostgreSQL 存储结构](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/PostgreSQL%20%E5%AD%98%E5%82%A8%E7%BB%93%E6%9E%84.pdf)\n- [postgreSQL 中的 MVCC](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/PostgreSQL%20%E4%B8%AD%E7%9A%84%20MVCC.pdf)\n- [PostgreSQL 中的内存上下文（MmeoryContext）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/MemoryContext.pdf)\n- [PostgreSQL 查询树结构（Query）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/Query%20Tree.pdf)\n- [RBO——提升子连接(基本概念)](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/%E6%8F%90%E5%8D%87%E5%AD%90%E8%BF%9E%E6%8E%A5%EF%BC%88%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5%EF%BC%89.pdf)\n- [RBO——提升子连接(具体过程)](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/%E6%8F%90%E5%8D%87%E5%AD%90%E8%BF%9E%E6%8E%A5%EF%BC%88%E5%85%B7%E4%BD%93%E8%BF%87%E7%A8%8B%EF%BC%89.pdf)\n- [PostgreSQL 中的 SysCache](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/PostgreSQL/SysCache.pdf)\n\n### Greenplum\n\n- [Greenplum 架构概览](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/Greenplum/Greenplum%20%E6%9E%B6%E6%9E%84%E6%A6%82%E8%A7%88.pdf)\n- [为什么需要 Motion？](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/Greenplum/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%20Motion.pdf)\n\n### Others\n\n- [Redis 数据结构](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/redis/Redis%20%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84.pdf)\n- [Redis 主从复制原理](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/redis/Redis%20%E4%B8%BB%E4%BB%8E%E5%A4%8D%E5%88%B6.pdf)\n- [缓存更新的策略](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/redis/%E7%BC%93%E5%AD%98%E6%9B%B4%E6%96%B0%E7%9A%84%E7%AD%96%E7%95%A5.pdf)\n- [Redis Cluster 概述](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/redis/Redis%20Cluster%20%E6%A6%82%E8%BF%B0.pdf)\n- [etcd 概述](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/etcd/etcd%E6%A6%82%E8%BF%B0.pdf)\n- [分布式锁的实现](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/redis/%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E7%9A%84%E5%AE%9E%E7%8E%B0.pdf)\n\n------\n\n## :rocket: Distributed System\n\n### 分布式协议与算法\n\n![](distributed-system/roadmap.png)\n\n- [2PC](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/2PC.pdf)\n- [CAP 理论](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/CAP.pdf)\n- [拜占庭将军问题（共识）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/%E6%8B%9C%E5%8D%A0%E5%BA%AD%E5%B0%86%E5%86%9B%E9%97%AE%E9%A2%98.pdf)\n- [Basic Paxos](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/Basic%20Paxos.pdf)\n- [Raft——领导选举与日志复制](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/Raft.pdf)\n- [Gossip——流言蜚语实现最终一致性](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/Gossip.pdf)\n- [Quorum NWR——定制一致性](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/distributed-system/Quorum%20NWR.pdf)\n\n---\n\n## :alembic: Middleware\n\n- [可靠消息中间件——RabbitMQ](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/middleware/RabbitMQ.pdf)\n\n------\n\n## :fire: Linux-Network-Programing\n\n- [信号](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/%E4%BF%A1%E5%8F%B7.pdf)\n- [信号集与信号掩码](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/%E4%BF%A1%E5%8F%B7%E9%9B%86%E4%B8%8E%E4%BF%A1%E5%8F%B7%E6%8E%A9%E7%A0%81.pdf)\n- [进程的创建](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%88%9B%E5%BB%BA.pdf)\n- [进程间通讯简介](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/%E8%BF%9B%E7%A8%8B%E9%97%B4%E9%80%9A%E8%AE%AF%E7%AE%80%E4%BB%8B.pdf)\n- [DAEMON](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/DAEMON.pdf)\n- [可靠数据传输协议——TCP](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/%E5%8F%AF%E9%9D%A0%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE%E2%80%94TCP.pdf)\n- [TCP 拥塞控制](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/TCP%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6.pdf)\n- [socket 编程问题一览(01)](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/socket%20%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%E4%B8%80%E8%A7%88%2801%29.pdf)\n- [socket 编程问题一览(02)](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/socket%20%E7%BC%96%E7%A8%8B%E9%97%AE%E9%A2%98%E4%B8%80%E8%A7%88%2802%29.pdf)\n- [epoll 原理剖析](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/epoll%20%E5%8E%9F%E7%90%86%E5%89%96%E6%9E%90.pdf)\n- [epoll_event](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/epoll_event.pdf)\n- [HTTPS 握手过程](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/HTTPS.pdf)\n- [Nginx 基本进程模型与核心数据结构](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/linux-network/nginx.pdf)\n\n------\n\n## :zap: Operating System\n\n- [Linux 进程、线程与调度](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/c%2B%2B/concurrent/1.%20Linux%20%E8%BF%9B%E7%A8%8B%E3%80%81%E7%BA%BF%E7%A8%8B%E4%B8%8E%E8%B0%83%E5%BA%A6.pdf)\n- [Linux 虚拟内存](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/operating-system/Linux-Virtual-Memory.pdf)\n- [Linux 内存杂记(01)](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/operating-system/Linux%20%E5%86%85%E5%AD%98%E6%9D%82%E8%AE%B0%2801%29.pdf)\n\n------\n\n## :paw_prints: Golang\n\n- [channel 的设计与使用](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/golang/channel.pdf)\n- [map 的设计与扩容时机](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/golang/map.pdf)\n- [G-M-P 模型](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/golang/G-M-P%E6%A8%A1%E5%9E%8B.pdf)\n- [三色标记-清除式 GC](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/golang/GC.pdf)\n\n------\n\n## :art: Kubernetes\n\n- [为什么需要 Pod?](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/kubernetes/%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%20Pod.pdf)\n- [声明式 API 是如何实现的?](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/kubernetes/%E5%A3%B0%E6%98%8E%E5%BC%8F%20API%20%E6%98%AF%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%9A%84.pdf)\n\n------\n\n## :telescope: C++\n\n#### common\n\n- [const](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/common/1.%20const.pdf)\n\n#### 面向对象程序设计\n\nTODO\n\n#### 拷贝控制\n\n- [拷贝构造与拷贝赋值](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/copy-control/1.%20%E6%8B%B7%E8%B4%9D%E6%9E%84%E9%80%A0%E4%B8%8E%E6%8B%B7%E8%B4%9D%E8%B5%8B%E5%80%BC.pdf)\n- [左值与右值](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/copy-control/2.%20%E5%B7%A6%E5%80%BC%E4%B8%8E%E5%8F%B3%E5%80%BC.pdf)\n- [移动构造与移动赋值](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/copy-control/3.%20%E7%A7%BB%E5%8A%A8%E6%9E%84%E9%80%A0%E4%B8%8E%E7%A7%BB%E5%8A%A8%E8%B5%8B%E5%80%BC.pdf)\n- [三/五法则](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/copy-control/4.%20%E4%B8%89%E4%BA%94%E6%B3%95%E5%88%99.pdf)\n\n#### 模板与泛型编程\n\n- [Template 的基本使用](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/template/1.%20Template.pdf)\n- [万能引用与类型推断问题](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/template/2.%20%E4%B8%87%E8%83%BD%E5%BC%95%E7%94%A8%E4%B8%8E%E7%B1%BB%E5%9E%8B%E6%8E%A8%E6%96%AD%E9%97%AE%E9%A2%98.pdf)\n- [完美转发](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/template/3.%20%E5%AE%8C%E7%BE%8E%E8%BD%AC%E5%8F%91.pdf)\n\n#### 类型相关\n\n- [强制类型转换](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/type/1.%20%E5%BC%BA%E5%88%B6%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2.pdf)\n- [自动类型推断（auto）](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/type/2.%20%E8%87%AA%E5%8A%A8%E7%B1%BB%E5%9E%8B%E6%8E%A8%E6%96%AD%EF%BC%88auto%EF%BC%89.pdf)\n- [decltype](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/type/3.%20decltype.pdf)\n\n#### 函数编程\n\n- [lambda 表达式](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/functional/1.%20lambda%20%E8%A1%A8%E8%BE%BE%E5%BC%8F.pdf)\n- [可调用对象——std::function](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/functional/2.%20%E5%8F%AF%E8%B0%83%E7%94%A8%E5%AF%B9%E8%B1%A1%20function.pdf)\n\n#### 智能指针\n\n- [堆、栈与 RAII: C++ 管理资源的方式](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/smart-ptr/1.%20%E5%A0%86%E3%80%81%E6%A0%88%E4%B8%8E%20RAII%20%3A%20C%2B%2B%20%E7%AE%A1%E7%90%86%E8%B5%84%E6%BA%90%E7%9A%84%E6%96%B9%E5%BC%8F.pdf)\n- [RAII 与智能指针](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/smart-ptr/2.%20RAII%E4%B8%8E%E6%99%BA%E8%83%BD%E6%8C%87%E9%92%88.pdf)\n- [shared_ptr](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/smart-ptr/3.%20shared_ptr.pdf)\n\n#### 并发编程\n\n- [Linux 进程、线程与调度](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/1.%20Linux%20%E8%BF%9B%E7%A8%8B%E3%80%81%E7%BA%BF%E7%A8%8B%E4%B8%8E%E8%B0%83%E5%BA%A6.pdf)\n- [线程的创建与执行](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/2.%20%E7%BA%BF%E7%A8%8B%E7%9A%84%E5%88%9B%E5%BB%BA%E4%B8%8E%E6%89%A7%E8%A1%8C.pdf)\n- [std::async 与 std::future](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/3.%20async%E4%B8%8Efuture.pdf)\n- [互斥量与 std::lock_guard、std::unique_lock](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/4.%20%E4%BA%92%E6%96%A5%E9%87%8F%E3%80%81lock_guard%E4%B8%8Eunique_lock.pdf)\n- [通知状态的改变——POSIX 条件变量](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/5.%20%E9%80%9A%E7%9F%A5%E7%8A%B6%E6%80%81%E7%9A%84%E6%94%B9%E5%8F%98%E2%80%94POSIX%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8F.pdf)\n- [通知状态的改变——C++ 条件变量](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/6.%20%E9%80%9A%E7%9F%A5%E7%8A%B6%E6%80%81%E7%9A%84%E6%94%B9%E5%8F%98%E2%80%94C%2B%2B%E6%9D%A1%E4%BB%B6%E5%8F%98%E9%87%8F.pdf)\n- [POSIX 信号量](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/concurrent/7.%20POSIX%20%E4%BF%A1%E5%8F%B7%E9%87%8F.pdf)\n\n#### 编译与链接\n\n- [编译与链接](https://smartkeyerror.oss-cn-shenzhen.aliyuncs.com/Psyduck/C%2B%2B/compile/1.%20%E7%BC%96%E8%AF%91%E4%B8%8E%E9%93%BE%E6%8E%A5.pdf)\n\n------\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartkeyerror%2Fpsyduck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartkeyerror%2Fpsyduck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartkeyerror%2Fpsyduck/lists"}