18、COM+ 线程模型与活动同步机制详解

COM+ 线程模型与活动同步机制详解

1. 线程安全代码与公寓模型概述

在不同的应用程序中,线程安全代码的范围存在很大差异。有些遗留应用程序完全不具备线程安全性,而有些精心设计的应用程序则能巧妙运用线程同步原语。还有一些应用程序存在特殊的线程约束,比如依赖线程本地存储(TLS)或使用用户界面原语。

为了让应用程序在不重新架构自身同步策略的情况下使用其他应用程序的组件,COM 将对象的并发约束视为一种运行时要求。组件开发者需要决定线程策略,也就是正式所说的线程模型。

COM+ 引入了“公寓(Apartment)”的概念,它是一组具有相同并发约束的上下文的抽象集合。公寓的主要作用是帮助 COM+ 确定进程中的哪些线程可以在特定上下文中调度接口方法调用。一个进程可以包含一个或多个公寓,每个公寓又包含一个或多个上下文,如下图所示:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef apartment fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
    classDef context fill:#FFEBEB,stroke:#E68994,stroke-width:2px;

    P(进程):::process --> A1(公寓 1):::apartment
    P --> A2(公寓 2):::apartment
    A1 --> C1(上下文 1):::context
    A1 --> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值