同步对象将系统API封装在类里,避免全局变量以及同步的自发调用。
第九章 线程处理面向对象架构
多线程处理应当服从该架构,架构不应受多线程处理的驱动。有一些天生就适合于多线程处理的常见架构。下面是其中的三种架构:
1、客户机/服务器
2、事件驱动编程(GUI)
3、黑板(blackboard)
同步对象访问以及保护对象临界区的责任应当从对象的用户身上转移倒对象的提供者身上。
在PRAM模型中操作的算法一般可分为4类并发访问:
1、EREW 排他性读和排他性写
2、CREW 并发读和排他性写
3、ERCW 排他性读和并发写
4、CRCW 并发读和并发写
增量多线程处理,步骤:
1、构建同步、任务、线程类(互斥量、管道、队列、事件等)
2、结合同步类和宿主类
3、选择PRAM策略
4、使用成员函数强制实施策略
5、选定适宜的架构,构建类库、容器类和域类