"这篇资料主要介绍了COM(Component Object Model)技术中的多线程模型和分布式COM(DCOM)的概念,包括DCOM的基本结构、对象激活、连接管理、并发管理和安全模型。文中还回顾了COM的聚合和跨进程模型,以及自定义列集的过程。" 在COM技术中,多线程模型是至关重要的,它允许组件在同一进程中或不同进程中并行运行,提高了系统性能。COM线程模型主要有三种:单线程 apartment (STA)、多线程 apartment (MTA) 和自由线程 marshaling (FTM)。STA模型中,一个线程处理所有COM对象的调用,确保对象的线程安全性;MTA则允许多个线程并行访问对象,但需要开发者自己处理线程同步问题;FTM允许对象在任意线程上下文中使用,但marshaling开销较大。 DCOM是COM的一个扩展,使得COM对象可以在网络上进行分布式通信。DCOM的基本结构包括代理对象(Proxy)和存根对象(Stub),它们分别位于客户端和服务器端,用于在不同进程或机器间传递调用信息。对象激活是指客户端请求服务器创建或获取一个对象实例的过程。连接管理涉及到客户端与服务器之间的通信通道建立和维护,而并发管理则涉及到如何有效地调度多个并发请求,确保系统资源的有效利用。 DCOM的安全模型是为了保护对象免受未经授权的访问。它包括身份验证、授权和访问控制,确保只有经过验证的用户和进程才能访问相应的COM对象。安全模型可以通过设置接口权限、激活权限以及配置DCOM配置来实现。 在自定义列集过程中,对象必须实现IMarshal接口,以便于代理对象和进程外对象之间的协作。代理对象不仅需要实现IMarshal接口,还需要负责所有接口的跨进程操作。自定义列集可以提高跨进程调用的效率,例如通过缓存状态来减少不必要的数据传输。标准的列集机制则依赖于预定义的proxy和stub代码,它们处理基本的RPC(Remote Procedure Call)通信。 这篇资料深入探讨了COM和DCOM的核心概念,对于理解Windows系统中的组件交互和分布式系统设计有着重要的指导意义。无论是开发人员还是系统管理员,都需要对这些知识有深入的理解,以便更好地利用COM和DCOM构建高效、可靠的分布式应用程序。
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/729e02c7412c498db01fc62e07f16c83_weixin_42197110.jpg!1)
- 粉丝: 28
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)