摘要: 本文记述了与内存顺序中涉及的几种关系。 synchronizes-with(...与...同步) : 线程 A 中对于某个对象的存储操作 S,与线程 B 中对于同一对象的加载操作 L 同步。 happens-before(...发生于...之前): 无论是在单一线程内还是多线程间,某个操作发生于另一 阅读全文
posted @ 2025-07-25 20:42 green-cnblogs 阅读(4) 评论(0) 推荐(0)
摘要: 本文记述了 C++11 中的 6 种内存顺序与 3 种原子操作类型之间的适用性。 存储操作 加载操作 读-修改-写操作 memory_order_seq_cst O O O memory_order_acq_rel O memory_order_release O O memory_order_ac 阅读全文
posted @ 2025-07-24 15:18 green-cnblogs 阅读(9) 评论(0) 推荐(0)
摘要: 本文翻译了《Foundations of the C++ Concurrency Memory Model》的摘要和正文。译文如下: Foundations of the C++ Concurrency Memory Model Hans-J. Boehm, Sarita V. Adve 2008 阅读全文
posted @ 2025-07-04 19:01 green-cnblogs 阅读(26) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Active Object 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 多个调用方采用异步方式使用一个非线程安全且耗时较多的操作。 ◆ 解决方案 建立一个拥有独 阅读全文
posted @ 2025-05-16 19:45 green-cnblogs 阅读(24) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Thread-Specific Storage 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 让每个线程拥有独立的变量实例,使该变量拥有与线程相同的生命周期。 ◆ 阅读全文
posted @ 2025-05-09 19:23 green-cnblogs 阅读(15) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Two-Phase Termination 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 保证线程接收到了终止请求后,能够尽快并安全地终止线程。 ◆ 解决方案 定 阅读全文
posted @ 2025-04-30 20:07 green-cnblogs 阅读(24) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Future 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 当前线程将某个函数调用委托给其它线程去完成,自己可以继续后面的处理。仅在需要结果时才去获取被委托的函数 阅读全文
posted @ 2025-04-25 22:04 green-cnblogs 阅读(23) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Worker Thread 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 控制执行任务的线程的数量,进而提高计算资源的利用率。 ◆ 解决方案 用数组或集合存放一定 阅读全文
posted @ 2025-04-19 09:58 green-cnblogs 阅读(35) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Thread-Per-Message 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 当前线程将某个函数调用委托给其它线程去完成,自己可以继续后面的处理,而无需等待 阅读全文
posted @ 2025-04-11 20:06 green-cnblogs 阅读(11) 评论(0) 推荐(0)
摘要: 本文摘要了《Java多线程设计模式》一书中提及的 Read-Write Lock 模式的适用场景,并针对书中例子(若干名称有微调)给出一份 C++ 参考实现及其 UML 逻辑图,也列出与之相关的模式。 ◆ 适用场景 当读取共享数据的线程多于更新共享数据的线程时,为了提高整体的吞吐量,并保证数据的安全 阅读全文
posted @ 2025-04-03 20:13 green-cnblogs 阅读(46) 评论(0) 推荐(0)