同步對象將系統API封裝在類里,避免全局變量以及同步的自發調用。
第九章 線程處理面向對象架構
多線程處理應當服從該架構,架構不應受多線程處理的驅動。有一些天生就適合于多線程處理的常見架構。下面是其中的三種架構:
1、客戶機/服務器
2、事件驅動編程(GUI)
3、黑板(blackboard)
同步對象訪問以及保護對象臨界區的責任應當從對象的用戶身上轉移倒對象的提供者身上。
在PRAM模型中操作的算法一般可分為4類并發訪問:
1、EREW 排他性讀和排他性寫
2、CREW 并發讀和排他性寫
3、ERCW 排他性讀和并發寫
4、CRCW 并發讀和并發寫
增量多線程處理,步驟:
1、構建同步、任務、線程類(互斥量、管道、隊列、事件等)
2、結合同步類和宿主類
3、選擇PRAM策略
4、使用成員函數強制實施策略
5、選定適宜的架構,構建類庫、容器類和域類