21、COM+ 编程中的多线程与安全机制解析

COM+ 编程中的多线程与安全机制解析

多线程编程相关问题

多线程编程在实际应用中面临诸多挑战,其中保护对象免受并发访问就是一个复杂的编程任务。在多线程环境下,多个线程可能同时访问和修改同一个对象,这可能导致数据不一致或其他错误。为了简化组件开发,COM+ 为开发者提供了多种线程策略选择。COM+ 引入了单元(apartment)的概念来处理组件使用的线程策略,不同类型的单元决定了调用如何分发到该单元。

为了实现对对象的同步访问,COM+ 提供了基于活动的同步机制。这种机制确保在同一时间只有一个线程可以访问对象,从而避免并发访问带来的问题。开发者还可以利用 COM+ 提供的基础设施,采用各种技术来开发线程安全的代码。

Windows NT 安全系统基础

在深入探讨 COM+ 安全模型之前,有必要先了解 Windows NT 安全系统的基础知识。在 Windows NT(Windows 2000 基于 NT 技术)中,每个用户或组被称为一个账户,每个账户由一个安全标识符(SID)唯一标识。当新账户添加到系统时,系统会生成一个 SID 并分配给该账户。像 LocalSystem 和 Administrator 这样的内置账户有预定义的 SIDs。

Windows NT 是一个高度安全的操作系统,系统中的大多数对象,如 NTFS 文件、注册表项、进程和线程等,都可以进行配置,使其仅对选定的账户可访问,这些对象被称为可安全对象。每个可安全对象都有一个安全描述符(SD),其中包含:
- 所有者 SID:用于标识对象的当前所有者,所有者始终可以访问该对象。
- discretionary 访问列表(DACL):决定哪些账户可以访

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值