注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)WindowsWindows并發(fā)編程指南

Windows并發(fā)編程指南

Windows并發(fā)編程指南

定 價(jià):¥89.00

作 者: (美)杜飛(Duffy,J.) 著;聶雪軍 等譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 開(kāi)發(fā)人員專業(yè)技術(shù)叢書
標(biāo) 簽: WINDOWS

ISBN: 9787111288206 出版時(shí)間: 2010-01-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 604 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Windows并發(fā)編程指南》詳細(xì)講述Windows并發(fā)編程的相關(guān)知識(shí)。內(nèi)容分為四個(gè)部分:第一部分“概念”從高層視角介紹并發(fā)的基本概念,為讀者理解并發(fā)打下基礎(chǔ):第二部分“機(jī)制”重點(diǎn)介紹了一些基礎(chǔ)的功能、內(nèi)部工作機(jī)制以及各種APl等;第三部分“技術(shù)”介紹了一些常見(jiàn)的編程模式、最優(yōu)方法、算法,以及在編寫并發(fā)軟件時(shí)需要使用的各種數(shù)據(jù)結(jié)構(gòu);第四部分“系統(tǒng)”介紹了一些在系統(tǒng)架構(gòu)和流程中經(jīng)常出現(xiàn)的問(wèn)題?!禬indows并發(fā)編程指南》內(nèi)容翔實(shí),實(shí)例豐富,適合Windows開(kāi)發(fā)人員、Windows測(cè)試人員;和Windows技術(shù)支持人員等參考。

作者簡(jiǎn)介

  杜飛(Joe Duffy),是微軟公司.NET框架團(tuán)隊(duì)中負(fù)責(zé)并行擴(kuò)展庫(kù)(Parallel Extensions]的開(kāi)發(fā)管、架構(gòu)師和奠基人。除了編寫代碼和管理開(kāi)發(fā)團(tuán)隊(duì)之外,他還致力于一些長(zhǎng)期性和前瞻性的工作,例如支持并發(fā)安全性的語(yǔ)言和類型系統(tǒng)。他曾在通用語(yǔ)言運(yùn)行時(shí)(CommonI Language Runtime)團(tuán)隊(duì)中工作過(guò)。

圖書目錄

對(duì)本書的贊譽(yù)
譯著序

前言
致謝
作者簡(jiǎn)介
第一部分 概念
第1章 概述
1.1 為什么需要并發(fā)
1.2 程序架構(gòu)與并發(fā)
1.3 并行的層次
1.4 為什么不需要并發(fā)
1.5 小結(jié)
延伸閱讀
第2章 同步與時(shí)間
2.1 程序狀態(tài)的管理
2.1.1 共享狀態(tài)與私有狀態(tài)的區(qū)分
2.1.2 狀態(tài)機(jī)與時(shí)間
2.1.3 獨(dú)立性
2.1.4 不變性
2.2 同步:種類與實(shí)現(xiàn)技術(shù)
2.2.1 數(shù)據(jù)同步
2.2.2 協(xié)作與控制同步
2.3 小結(jié)
延伸閱讀
第二部分 機(jī)制
第3章 線程
3.1 從高層面上來(lái)看線程
3.1.1 Windows線程是什么
3.1.2 CLR線程是什么
3.1.3 顯式線程操作及其替代方法
3.2 線程的誕生與消亡
3.2.1 線程的創(chuàng)建
3.2.2 線程終止
3.2.3 DllMain
3.2.4 線程局部存儲(chǔ)
3.3 小結(jié)
延伸閱讀
第4章 線程的高級(jí)內(nèi)容
4.1 線程的狀態(tài)
4.1.1 用戶態(tài)線程棧
4.1.2 內(nèi)部數(shù)據(jù)結(jié)構(gòu)(KTHREAD、ETHREAD和TEB)
4.1.3 上下文
4.2 線程的創(chuàng)建過(guò)程與終止過(guò)程
4.2.1 線程創(chuàng)建的具體流程
4.2.2 線程終止的具體流程
4.3 線程調(diào)度
4.3.1 線程的狀態(tài)
4.3.2 優(yōu)先級(jí)
4.3.3 時(shí)間片
4.3.4 優(yōu)先級(jí)與時(shí)間片調(diào)整
4.3.5 睡眠與退讓
4.3.6 掛起
4.3.7 關(guān)聯(lián)性:優(yōu)先在某個(gè)CPU上運(yùn)行
4.4 小結(jié)
延伸閱讀
第5章 Windows內(nèi)核同步機(jī)制
5.1 基礎(chǔ)知識(shí):觸發(fā)和等待
5.1.1 為什么要使用內(nèi)核對(duì)象
5.1.2 在非托管代碼中執(zhí)行等待操作
5.1.3 托管代碼
5.1.4 異步過(guò)程調(diào)用
5.2 內(nèi)核對(duì)象的使用
5.2.1 互斥體
5.2.2 信號(hào)量
5.2.3 互斥體/信號(hào)量使用示例:阻塞/有界的隊(duì)列
5.2.4 自動(dòng)重置事件和手動(dòng)重置事件
5.2.5 等待定時(shí)器
5.2.6 觸發(fā)對(duì)象與自動(dòng)等待
5.2.7 內(nèi)核對(duì)象的調(diào)試
5.3 小結(jié)
延伸閱讀
第6章 數(shù)據(jù)同步與控制同步
6.1 互斥
6.1.1 Win32臨界區(qū)
6.1.2 CLR鎖
6.2 讀/寫鎖(RWL)
6.2.1 WindowsVista中的輕量級(jí)讀/寫鎖
6.2.2.NEI框架中的輕量級(jí)讀/寫鎖
6.2.3.NET框架中原來(lái)的讀/寫鎖
6.3 條件變量
6.3.1 WindowsVista條件變量
6.3.2.NET框架的Monitor
6.3.3 被守護(hù)區(qū)域
6.4 小結(jié)
延伸閱讀
第7章 線程池
7.1 線程池的基本知識(shí)
7.1.1 三種方式:WindowsVista、Windows遺留代碼以及CLR
7.1.2 通用功能
7.2 Windows線程池
7.2.1 WindowsVista線程池
7.2.2 遺留的Win32線程池
7.3 CLR線程池
7.3.1 工作項(xiàng)
7.3.2 I/O完成端口
7.3.3 定時(shí)器
7.3.4 注冊(cè)等待
7.3.5 記?。ㄔ俅翁嵝眩耗悴⒉粨碛羞@些線程
7.3.6 線程池的線程管理
7.3.7 調(diào)試
7.3.8 案例分析:優(yōu)先級(jí)分層以及在線程池之上的隔離性
7.4 在使用線程池時(shí)的性能
7.5 小結(jié)
延伸閱讀
第8章 異步編程模型
8.1 異步編程模型(APM)
8.1.1 匯集:四種方式
8.1.2 實(shí)現(xiàn)IAsyncResult
8.1.3 在.NET框架的哪些地方使用了APM
8.1.4 ASP.NET異步頁(yè)
8.2 基于事件的異步模式
8.2.1 基礎(chǔ)知識(shí)
8.2.2 支持取消
8.2.3 支持進(jìn)度報(bào)告以及增量結(jié)果
8.2.4 在.NET框架的哪些地方將使用EAP
8.3 小結(jié)
延伸閱讀
第9章 纖程
9.1 纖程簡(jiǎn)介優(yōu)點(diǎn)與缺點(diǎn)
9.2 纖程的使用
9.2.1 創(chuàng)建新的纖程
9.2.2 將線程轉(zhuǎn)換為纖程
9.2.3 判斷線程是否為纖程
9.2.4 纖程間的切換
9.2.5 刪除纖程
9.2.6 切換當(dāng)前線程的示例
9.3 與纖程相關(guān)的其他主題
9.3.1 纖程局部存儲(chǔ)
9.3.2 線程關(guān)聯(lián)性
9.3.3 案例分析:纖程與CLR
9.4 構(gòu)建用戶態(tài)的調(diào)度器
9.4.1 實(shí)現(xiàn)
9.4.2 關(guān)于棧阻塞與無(wú)棧阻塞
9.5 小結(jié)
延伸閱讀
第三部分 技術(shù)
第10章 內(nèi)存模型與無(wú)鎖編程
10.1 內(nèi)存加載與存儲(chǔ)等操作的重新排序
10.1.1 實(shí)際運(yùn)行的順序并非總是編寫的順序
10.1.2 將臨界域作為柵欄
10.1.3 數(shù)據(jù)依賴性及其對(duì)重排的影響
10.2 硬件原子性
10.2.1 普通加載指令和存儲(chǔ)指令的原子性
10.2.2 互鎖操作
10.3 內(nèi)存一致性模型
10.3.1 硬件內(nèi)存模型
10.3.2 內(nèi)存柵欄
10.3.3.NET內(nèi)存模型
10.3.4 無(wú)鎖編程
10.4 低鎖代碼的示例
10.4.1 延遲初始化與雙重檢查鎖定
10.4.2 無(wú)阻塞棧和ABA問(wèn)題
10.4.3 重新回顧Dekker的算法
10.5 小結(jié)
延伸閱讀
第11章 并發(fā)的危害
11.1 正確性危害
11.1.1 數(shù)據(jù)競(jìng)爭(zhēng)
11.1.2 遞歸與重入
11.1.3 鎖與進(jìn)程關(guān)閉
11.2 活躍性危害
11.2.1 死鎖
11.2.2 遺失的喚醒
11.2.3 活鎖
11.2.4 鎖護(hù)送效應(yīng)
11.2.5 “蜂擁”現(xiàn)象
11.2.6 兩步舞
11.2.7 優(yōu)先級(jí)反轉(zhuǎn)與饑餓
11.3 小結(jié)
延伸閱讀
第12章 并行容器
12.1 細(xì)粒度鎖定
12.1.1 數(shù)組
12.1.2 FIFO隊(duì)列
12.1.3 鏈表
12.1.4 字典(散列表)
12.2 無(wú)鎖
12.2.1 無(wú)鎖FIFO隊(duì)列
12.2.2 工作密遷隊(duì)列
12.3 協(xié)作式容器
12.3.1 生產(chǎn)者/消費(fèi)者數(shù)據(jù)結(jié)構(gòu)
12.3.2 通過(guò)柵欄來(lái)分階段計(jì)算
12.4 小結(jié)
延伸閱讀
第13章 數(shù)據(jù)并行與任務(wù)并行
13.1 數(shù)據(jù)并行
13.2 任務(wù)并行
13.2.1 分支/合并算法
13.2.2 數(shù)據(jù)流并行(Future抽象與Promise抽象)
13.2.3 遞歸
13.2.4 流水線
13.2.5 查找
13.3 基于消息的并行
13.4 一些共同問(wèn)題
13.4.1 并發(fā)的異常
13.4.2 取消
13.5 小結(jié)
延伸閱讀
第14章 性能與可伸縮性
14.1 并行硬件架構(gòu)
14.1.1 SMP、CMP與HT
14.1.2 超標(biāo)量執(zhí)行
14.1.3 內(nèi)存的層次結(jié)構(gòu)
14.1.4 Visual Studio中的性能分析工具
14.2 加速比:并行代碼與串行代碼
14.2.1 決定“采用并行”
14.2.2 測(cè)量并行帶來(lái)的性能提升
14.2.3 Amdahl定律
12.2.4 關(guān)鍵路徑以及負(fù)載不均衡
14.2.5 垃圾收集與可伸縮性
14.3 自旋等待
14.3.1 如何在Windows上正確地自旋
14.3.2 純自旋鎖
14.3.3 Mellor-Crummey-Scott(MCS)鎖
14.4 小結(jié)
延伸閱讀
第四部分 系統(tǒng)
第15章 輸入與輸出
15.1 重疊I/O
15.1.1 重疊對(duì)象
15.1.2 Win32異步:I/O
15.1.3 .NET框架的異步I/O
15.2 I/O取消
15.2.1 當(dāng)前線程的異步I/O取消
15.2.2 其他線程上的同步I/O取消
15.2.3 任意線程的異步I/O取消
15.3 小結(jié)
延伸閱讀
第16章 圖形用戶界面
16.1 GUI線程模型
16.1.1 單線程套間(STA)
16.1.2 響應(yīng)度:它是什么
16.2.NET異步GUI功能
16.2.1.NET的GUI框架
16.2.2 同步上下文
16.2.3 異步操作
16.2.4 一個(gè)方便的類:BackgroundWorker
16.3 小結(jié)
延伸閱讀
第五部分 附錄
附錄A 為.NET并發(fā)程序設(shè)計(jì)可重用的庫(kù)
附錄B .NET的并行擴(kuò)展

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)