
并发环境下的代码设计——复杂网络中的演化博弈分析
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本研究探讨了在复杂网络环境中并发程序的设计原理,并结合演化博弈理论分析其行为模式和优化策略。
第8章 并发代码设计
本章主要探讨以下内容:
- 线程间如何划分数据的技术;
- 影响并发代码性能的因素;
- 性能因素是如何影响数据结构的设计的;
- 多线程代码中的异常安全问题以及可扩展性;
- 如何实现并行算法。
之前的章节重点介绍了使用C++11的新工具编写并发代码。在第6章和第7章中,我们学习了如何利用这些新工具设计可以被多个线程访问的基本数据结构。这就像一个木匠不仅需要知道如何制作合页、组合柜或桌子一样;实际的并发编程远比使用/设计基本的数据结构更为常见与复杂。为了构建更复杂的系统并进行高效的工作,我们需要将视野扩大,并不仅仅局限于简单的工具和组件。
我将以多线程化的C++标准库算法为例来说明这些问题,但这些原则同样适用于其他应用程序的设计扩展中。认真思考如何进行并发化设计对于每一个编程项目来说都是至关重要的。然而,在编写多线程代码时需要考虑的因素比单线程要复杂得多。除了通常的软件设计考量因素(例如封装、耦合和聚合)之外,我们还需要关注哪些数据应该被共享、如何同步访问这些数据以及哪些线程应当等待其他线程等。
本章将重点关注这些问题,并从高层次上讨论在多线程编程中应考虑的问题:即如何使用线程,什么代码应在哪个线程执行;这又会怎样影响到程序的清晰度和性能。首先我们先来看看在线程间划分工作的方法。
全部评论 (0)
还没有任何评论哟~


