美文网首页
C++面向对象多线程学习笔记_前言

C++面向对象多线程学习笔记_前言

作者: manofmountain | 来源:发表于2017-06-10 10:44 被阅读0次

    此系列文章笔记由阅读Cameron & Tracery合作所编写,由周良忠先生所译的C++面向对象多线程编程一书而来。

    多线程编程相对来说比较难设计,难编码实现,也较难测试其各项功能。多线程一般会给我们的应用程序带来死锁、数据竞争、优先权倒置与无限延迟等诸多挑战。

    这些互斥性问题轻则让应用程序速度变慢,重则使其崩溃。但是面对越来越复杂的应用需求,多线程程序设计却渐渐已成了眼下必须的设计。主要原因如下:

    1. 处理并行计算的需要(现在的处理器多个多核处理器,而很多应用程序更是直接部署在包含有多个计算节点的集群之上);

    2. 随着应用范围的拓展,需要超长计算时间的应用程序越来越多;

    3. 很多应用在等待网络、文件系统、用户或者其它I/O操作时会耗费大量的执行时间,而多线程程序经过良好设计可以避免这一点。

    在此书中作者讨论了如何通过设计性能优良的C++组件来消除编写多线程程序时遇到的缺陷。讨论了用一种架构途径来

    设计多线程应用程序,还解释了如何构建用于实现支持并发的软件机制的C++组件。这些组件包括如下:

    1. 互斥量对象;

    2. 事件互斥量对象;

    3. 匿名管道对象;

    4. 命名管道对象;

    5. 线程对象;

    6. 容器组件;

    7. 应用框架。

    书中作者探索了增量多线程编程的概念,通过使用封装、接口类、宿主类以及域类来构建多线程组件。然后组合多线程组件形成面向对象多线程架构。多线程架构成为构建可靠多线程应用程序的基础。

    相关文章

      网友评论

          本文标题:C++面向对象多线程学习笔记_前言

          本文链接:https://www.haomeiwen.com/subject/jppqqxtx.html