进程组件Inside COM读书笔记-----多线程

在改章节中,我们主要介绍进程组件的内容,自我感觉有个不错的建议和大家分享下

    

1.      COM线程模型

    

    COM并没有定义新的线程和进程模型,而是直接使用Win32线程。

    

    

1.1Win32线程

    

         典范的Win32线程拥有两种不同类型的线程:用户界面线程和工作线程。用户线程是同一个或多个窗口关联着的。这些线程拥有自己的消息循环,工作线程用于后台处理。一个进程可以拥有多个用户界面线程和多个工作线程。

         每一个用户界面线程都有一个或多个窗口,线程将调用他所拥有的窗口的窗口过程,对于任一窗口他将被创立他的线程拥有。

    

    

1.2COM线程

    

    COM用地线程的类型与Win32的两种线程是相同的,只不过换了不同的名称。与Win32中的用户界面线程想对应COM有一个“套间线程”,而与工作线程相对应的则是一个自在线程。

    

    

1.3套间

    

    “套间”是一个由用户界面风格的线程和一个消息循环工程的概念性实体。

    进程和组件

    12-2中表现是由一个客户和两个线程中组件工程的典范COM应用程序。这个程序将驻留在只有一个执行线程的进程中。进程中组件没有自己的消息循环。而是共享EXE客户的消息循环。

    

  • 参加进程外组件

    当客户连接到进程外组件时,组件同客户在不同的进程中运行,每一个进程都有自己的执行线程。进程外服务器有它自己的消息循环。同使用进程中组件进程的另一个差别在于逾越进程边界的函数调用的参数必须被调整。

    每日一道理
曾经辉煌过,曾经凋零过,这可是你至死不渝的生活吗?我亲爱的母亲—大自然。多少次,我伏在地上,去聆听你沉重的脉搏声;多少次,我伫立在山前,去感受那松涛千年的浩瀚。你的豪壮,足以让中华民族腾飞;你的无私,谱写了一曲曲感人至深的千古壮曲。

    进程和组件

    下图将是进程外组件在另外一个套间的进程中组件。

    进程和组件

    套间同单线程进程在如下方面是类似的:每一个进程都有它自己的消息循环,一个套间也可以有它自己的消息循环,同一进程中的函数调用和同一套间中的函数调用将不被调整。由于进程和套间只是一个执行线程。因此消息的同步是由保障的。

    

    

1.4套间线程

    

    一个套间线程值的时套间中仅有的唯一线程。套间线程将拥有他所创立的组件,一个套间中的组件只能由相应的套间线程调用。假定另一个线程调用一个套间中某个组件的方法。COM将把此调用请求方到套间的队列中,消息循环将取出此调用请求并在套间线程上执行相应的方法。

    

    

1.5自在线程

    

    COM将在套间线程中同步对组件的调用。对于自在线程创立的组件的调用,COM不能使之同步,若某个组件时有自在线程创立的,则恣意线程都可在恣意时候调用它。

    

    

1.6调整与同步

    

  • 进程间的调用将被调整
  • 同一线程中的调用将不被调整
  • 对于自在线程中组件的调用并不是总被调整
  • 对于调节线程的调用将被同步
  • 同一线程中的调用将由此线程本身实现同步

 

 

 

文章结束给大家分享下程序员的一些笑话语录: 人脑与电脑的相同点和不同点,人脑会记忆数字,电脑也会记忆数字;人脑会记忆程序,电脑也会记忆程序,但是人脑具有感知能力,这种能力电脑无法模仿,人的记忆会影响到人做任何事情,但是电脑只有程序软件。比尔还表示,人脑与电脑之间最重要的一个差别就是潜意识。对于人脑存储记忆的特别之处,比尔表示,人脑并不大,但是人脑重要的功能是联络,人脑会把同样的记忆存储在不同的地方,因此记忆读取的速度就不相同,而这种速度取决于使用的频率和知识的重要性。人脑的记忆存储能力会随着年龄增长而退化,同时记忆的质量也会随着年龄退化。经典语录网

--------------------------------- 原创文章 By 组件和调用 ---------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值