书籍详情

Win32多线程程序设计:线程完全手册

Win32多线程程序设计:线程完全手册

作者:Jim Beveridge,Robert Wiener著;侯捷译

出版社:华中科技大学出版社

出版时间:2002-01-01

ISBN:9787560926384

定价:¥59.80

购买这本书可以去
内容简介
  使用线程,你可以产生高效率的服务器,建立Internet服务器扩充软件,获得多CPU系统的好处,建立精巧的COM/OLE对象,并改善程序的反应度。写出这样的软件,需要更多的理论基础,以及一本参考手册;需要广泛了解每一件事情如何彼此相称,需要一份指南,告诉你什么可以正常运作,什么不能!通过Win32 API、Windows NT以及Windows 95都可以支持多线程程序设计,但是这个重要主题的信息却极稀有而不够详尽。在《Win32多线程程序设计》这本书中,Jim Beveridge和Robert Wiener告诉你什么时机、什么地点、什么方法可以使用多线程。本书主题包括:● Internet开发范例,包括ISAPI和WinSock。 ● 如何在服务器中使用线程和overlapped I/O。● 如何在多线程环境中使用C runtime函数库和MFC.● 以C和C++写成的各个范例程序。● UNIX环境比较。让UNIX下的开发人员能转移到Win32.
作者简介
  译者:侯捷台湾资深技术作家、译者。闲静少言。不慕荣利。好读书。求甚解。侯捷先生以为“任何书籍如果缺少读者,再怎么优秀都将丧失价值。因此,做为一位书评人,我非常乐见评选风气兴盛。虽然所谓“喜爱”带有很大的主观成份,但这类评选仍然具有十分正面的价值,可以带给读者、作者、译者、出版者很大的参与感,对于读书风气、好书浮现率都有帮助。”深入浅出MFC(第二版)>>更多作品
目录
函数索引(Function Index) 封面里                  
 常见问答集(Frequently Asked Questions) vii                  
 第一篇  上路吧, 线程                  
 第1章  为什么要"千头万绪" 3                  
 一条曲折的路 4                  
 与线程共枕 7                  
 为什么最终用户也需要多线程多任务 8                  
 Win32基础 10                  
 Context Switching 14                  
 Race Conditions(竞争条件) 16                  
 Atomic Operations(原子操作) 19                  
 线程之间如何通讯 22                  
 好消息与坏消息 22                  
 第2章  线程的第一次接触 25                  
 产生一个线程 26                  
 使用多个线程的结果 31                  
 核心对象(Kernel Objects) 36                  
 线程结束代码(Exit Code) 40                  
 结束一个线程 45                  
 错误处理 48                  
 后台打印(Background Printing) 50                  
 成功的秘诀 59                  
 第3章  快跑与等待 61                  
 看似闲暇却忙碌(Busy Waiting) 62                  
 性能监视器(Performance Monitor) 66                  
 等待一个线程的结束 72                  
 叮咚:被激发的对象(Signaled Objects) 74                  
 等待多个对象 77                  
 在一个GUI程序中等待 85                  
 提要 91                  
 第4章  同步控制(Synchronization) 93                  
 Critical Sections(关键区域. 临界区域) 95                  
 死锁(Deadlock) 102                  
 哲学家进餐问题(The Dining Philosophers) 103                  
 互斥器(Mutexes) 107                  
 信号量(Semaphores) 115                  
 事件(Event Objects) 120                  
 从Worker线程中显示输出 124                  
 Interlocked Variables 125                  
 同步机制摘要 128                  
 第5章  不要让线程成为脱缰野马 131                  
 干净地终止一个线程 132                  
 线程优先权(Thread Priority) 138                  
 初始化一个线程 144                  
 提要 146                  
 第6章  Overlapped I/O, 在你身后变戏法 149                  
 Win32文件操作函数 151                  
 被激发的File Handles 155                  
 被激发的Event对象 159                  
 异步过程调用(Asynchronous Procedure Calls, APCs) 163                  
 对文件进行Overlapped I/O的缺点 171                  
 I/O Completion Ports 172                  
 对Sockets使用Overlapped I/O 182                  
 提要 190                  
 第二篇  多线程程序设计的工具与手法                  
 第7章  数据一致性(Data Consistency) 195                  
 认识volatile关键字 196                  
 Referential Integrity 200                  
 The Readers/Writers Lock 205                  
 我需要锁定吗? 214                  
 Lock Granularity(锁定粒度) 215                  
 提要 216                  
 第8章  使用C Run-time Library 219                  
 什么是C Runtime Library多线程版本 220                  
 选择一个多线程版本的C Runtime Library 221                  
 以C Runtime Library启动线程 224                  
 哪一个好:CreateThread()抑或 _beginthreadex()? 227                  
 避免stdio.h 237                  
 一个安全的多线程程序 240                  
 结束进程(Process) 248                  
 为什么你应该避免 _beginthread() 248                  
 提要 251                  
 第9章  使用C++ 253                  
 处理有问题的 _beginthreadex()函数原型 253                  
 以一个C++ 对象启动一个线程 256                  
 建立比较安全的Critical Sections 265                  
 建立比较安全的Locks 268                  
 建立可互换(Interchangeable)的locks 270                  
 异常情况(Exceptions)的处理 274                  
 提要 274                  
 第10章  MFC中的线程 277                  
 在MFC中启动一个Worker线程 278                  
 安全地使用AfxBeginThread()的传回值 282                  
 在MFC中启动一个UI线程 288                  
 与MFC对象共处 293                  
 MFC的同步控制 296                  
 MFC对于MsgWaitForMultipleObjects()的支持 300                  
 提要 301                  
 第11章  GDI与窗口管理 303                  
 线程的消息队列 304                  
 消息如何周游列国 306                  
 GUI效率问题 311                  
 以Worker线程完成多线程版MDI程序 311                  
 多个上层窗口(Top Level Windows)如何是好? 313                  
 线程之间的通讯 314                  
 NT的影子线程(shadow thread) 316                  
 关于"Cancel"对话框 316                  
 锁住GDI对象 319                  
 提要 319                  
 第12章  调试 321                  
 使用Windows NT 322                  
 有计划地对付错误 322                  
 Bench Testing 323                  
 线程对话框 324                  
 运转记录(Logging) 325                  
 内存记号(Memory Trails) 327                  
 硬件调试寄存器(Hardware Debug Registers) 328                  
 科学方法 330                  
 提要 333                  
                    
 第13章  进程之间的通讯(Interprocess Communication) 335                  
 以消息队列权充数据转运中心 336                  
 使用共享内存(Shared Memory) 345                  
 使用指针指向共享内存(Shared Memory) 354                  
 较高层次的进程通讯(IPC) 362                  
 提要 364                  
 第14章  建造 DLLs 367                  
 DLL的通告消息(Notifications) 369                  
 通告消息(Notifications)的问题 375                  
 DLL进入点的依序执行(Serialization)特性 378                  
 MFC中的DLL通告消息(Notifications) 379                  
 喂食给Worker线程 380                  
 线程局部存储(Thread Local Storage, TLS) 384                  
 _declspec(thread) 390                  
 数据的一致性 392                  
 提要 393                  
 第三篇  真实世界中的多线程应用程序                  
 第15章  规划一个应用程序 397                  
 多线程的理由 398                  
 要线程还是要进程? 403                  
 多线程程序的架构 404                  
 评估既有程序代码的适用性 406                  
 对ODBC做规划 411                  
 第三方的函数库(Third-Party Libraries) 413                  
 提要 413                  
 第16章  ISAPI 415                  
 Web服务器及其工作原理 416                  
 ISAPI 417                  
 IS2ODBC范例程序 420                  
 提要 427                  
 第17章  OLE, ActiveX, COM 429                  
 COM的线程模型(COM Threading Models) 431                  
 AUTOINCR范例程序 437                  
 提要 443                  
 附录A  MTVERIFY宏 445                  
 附录B  更多的信息 451                  

猜您喜欢

读书导航