Windows并发编程指南
分類: 图书,计算机/网络,操作系统/系统开发,WINDOWS,
作者: (美)杜飞(Duffy,J.)著;聂雪军等译
出 版 社: 机械工业出版社
出版时间: 2010-1-1字数:版次: 1页数: 604印刷时间: 2010-1-1开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111288206包装: 平装编辑推荐
深入揭示Windows并发编程理论及实现
微软首席研究与战略官Craig Mundie作序推荐
本书详尽地介绍了如何在开发软件时高效地使用并发和硬件并行,以及如何设计、实现和维护大型的,主要以Windows平台上的C#和C++等语言编写的并发程序。
本书为应用程序、系统以及库等的开发人员在多核处理器上编写高效、安全的代码提供必要的工具和技术指导。这不仅对于那些存在内在并发性的领域(如服务器应用、计算密集的图像处理、金融分析、数值模拟以及AI算法等)来说是很重要的,而且对于一些可以通过并行来获得加速的领域(如数学库、排序算法、报告生成、XML处理以及流式处理算法等)来说同样是重要的。
本书主要包括四部分:第一部分从高层视角介绍并发的一些基本概念;第兰部分重点介绍一些重要的平台功能、内部工作机制以及API细节等;第三部分介绍在编写并发软件时一些常见的编程模式、最优方法、算法和数据结构等;第四部分介绍在编写并发程序时需要注意的一些系统性的架构和流程方面的问题。
要想学习在windows和.NET上进行并发编程的最优方法和通用模式,那么本书将是你唯一需要的一本书。
内容简介
本书详细讲述Windows并发编程的相关知识。内容分为四个部分:第一部分“概念”从高层视角介绍并发的基本概念,为读者理解并发打下基础:第二部分“机制”重点介绍了一些基础的功能、内部工作机制以及各种APl等;第三部分“技术”介绍了一些常见的编程模式、最优方法、算法,以及在编写并发软件时需要使用的各种数据结构;第四部分“系统”介绍了一些在系统架构和流程中经常出现的问题。
本书内容翔实,实例丰富,适合Windows开发人员、Windows测试人员;和Windows技术支
持人员等参考。
作者简介
Joe Duffy是微软公司.NET框架团队中负责并行扩展库(Parallel Extensions]的开发管、架构师和奠基人。除了编写代码和管理开发团队之外,他还致力于一些长期性和前瞻性的工作,例如支持并发安全性的语言和类型系统。他曾在通用语言运行时(CommonI Language Runtime)团队中工作过。
目录
对本书的赞誉
译着序
序
前言
致谢
作者简介
第一部分概 念
第1章 概述
1.1为什么需要并发
1.2程序架构与并发
1.3并行的层次
1.4为什么不需要并发
1.5小结
延伸阅读
第2章 同步与时间
2.1程序状态的管理
2.1.1 共享状态与私有状态的区分
2.1.2状态机与时间
2.1.3独立性
2.1.4不变性
2.2同步:种类与实现技术
2.2.1数据同步
2.2.2协作与控制同步
2.3小结
延伸阅读
第二部分机制
第3章 线程
3.1从高层面上来看线程
3.1.1Windows线程是什么
3.1.2CLR线程是什么
3.1.3显式线程操作及其替代方法
3.2线程的诞生与消亡
3.2.1线程的创建
3.2.2线程终止
3.2.3 DllMain
3.2.4线程局部存储
3.3小结
延伸阅读
第4章线程的高级内容
4.1线程的状态
4.1.1用户态线程栈
4.1.2内部数据结构(KTHREAD、ETHREAD和TEB)
4.1.3上下文
4.2线程的创建过程与终止过程
4.2.1线程创建的具体流程
4.2.2线程终止的具体流程
4.3线程调度
4.3.1线程的状态
4.3.2优先级
4.3.3时间片
4.3.4优先级与时间片调整
4.3.5睡眠与退让
4.3.6挂起
4.3.7关联性:优先在某个CPU上运行
4.4小结
延伸阅读
第5章Windows内核同步机制
5.1基础知识:触发和等待
5.1.1为什么要使用内核对象
5.1.2在非托管代码中执行等待操作
5.1.3托管代码
5.1.4异步过程调用
5.2内核对象的使用
5.2.1互斥体
5.2.2信号量
5.2.3 互斥体/信号量使用示例:阻塞/有界的队列
5.2.4 自动重置事件和手动重置事件
5.2.5等待定时器
5.2.6触发对象与自动等待
……
第三部分技术
第四部分系统
第五部分附录