Muitithreading Applications in Win32:The Complete Guide to Threads

副标题:无

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

分类号:

ISBN:9787560926384

微信扫一扫,移动浏览光盘

简介

使用线程,你可以产生高效率的服务器。建立Internet服务器扩充软件,获得多CPU系统的好处,建立精巧的COM/OLE对象,并改善程序的反应度。 写出这样的软件,需要更多的理论基础,以及一本参考手册;需要广泛了解每一件事情如何彼此相称;需要一份指南,告诉你什么可以正常动作,什么不能! 通过Win32 API,Windows NT以及Windows 95都可以支持多线程程序设计,但是这个重要主题的信息却极稀有而不够详尽。 在《Win32多线程程序设计》这本书中,Jim Beveridge和Robert Wiener告诉你什么时机、什么地点、什么方法可以使用多线程。 本书主题包括: ·Internet开发范例,包括ISAI和WinSock。 ·如何在服务器中使用线程和overlapped I/O。 ·如何在多线程环境中使用Cruntime函数库和MFC。 ·以C和C++写成的各个范例程序。 ·NUIX环境比较。让UNIX下的开发人员能转移到Win32。更多>>

目录

函数索引(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


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Muitithreading Applications in Win32:The Complete Guide to Threads
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon