架 构 设 计 : 生 产者/消费者模式 为 了 方 便 阅 读 , 把 本 系 列 帖 子 的 目 录 整 理 如 下 : 0、概述 1、如 何确定数据单元 2、队列 缓冲区 3、环形缓冲区 4、双缓冲区 [0]: 概述 今 天 打 算 来 介 绍 一 下 “生 产 者 / 消 费 者 模 式 ”,这 玩 意 儿 在 很 多 开 发 领 域 都 能派 上 用 场
由 于 该 模 式 很 重 要 , 打 算 分 几 个 帖 子 来 介 绍
今 天 这 个 帖 子 先 来 扫 盲一 把
如 果 你 对 这 个 模 式 已 经 比 较 了 解 ,请 跳 过 本 扫 盲 帖 , 直 接 看 下 一 个 帖 子 ( 关于 该 模 式 的 具 体 应 用 )
看 到 这 里 , 可 能 有 同 学 心 中 犯 嘀 咕 了 : 在 四 人 帮 ( GOF) 的 23种 模 式 里 面 似乎 没 听 说 过 这 种 嘛
其 实 GOF那 经 典 的 23种 模 式 主 要 是 基 于 OO的 ( 从 书 名《 Design Patterns: Elements of Reusable Object-Oriented Software》 就 可以 看 出 来 )
而Pattern实 际 上 即 可 以 是OO的 Pattern, 也 可 以 是 非 OO的Pattern的
★简 介 言 归 正 传
在 实 际 的 软 件 开 发 过 程 中 , 经 常 会 碰 到 如 下 场 景 : 某 个 模 块 负 责 产生 数 据 , 这 些 数 据 由 另 一 个 模 块 来 负 责 处 理 ( 此 处 的 模 块 是 广 义 的 , 可 以 是 类 、函数 、线程 、进程 等)
产 生 数 据 的 模 块 , 就 形象地称为生 产 者 ;而 处 理 数 据 的