本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的
线程模型是一种数学模型,专门针对多线程编程而提供的算法,但也仅是算法,不是实现。本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的,就像说明Windows是如何实现线程这个数学模型的一样,最后指明一下跨套间调用和各种类型套间编写的要求以帮助理解。希望读者对于Windows操作系统的线程这个概念相当熟悉,对何谓“线程安全的”亦非常了解。
COM线程模型
COM提供的线程模型共有三种:Single-Threaded Apartment(STA 单线程套间)、Multithreaded Apartment(MTA 多线程套间)和Neutral Apartment/Thread Neutral Apartment/Neutral Threaded Apartment(NA/TNA/NTA 中立线程套间,由COM+提供)。虽然它们的名字都含有套间这个词,这只是COM运行时期库(注意,不是COM规范,以下简称COM)使用套间技术来实现前面的三种线程模型,应注意套间和线程模型不是同一个概念。COM提供的套间共有三种,分别一一对应。而线程模型的存在就是线程规则的不同导致的,而所谓的线程规则就只有两个:代码是线程安全的或不安全的,即代码访问公共数据时会或不会发生访问冲突。由于线程模型只是个模型,概念上的,因此可以违背它,不过就不能获得COM提供的自动同步调用及兼容等好处了。
COM线程模型(一)
转载上一篇:Z有时候也用?代替

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【HarmonyOS NEXT】ArkTS 线程模型解析与使用
一文解读鸿蒙中ArkTS的进程、线程、并发、并行、同步、异步、阻塞、非阻塞、单线程、多线程。
harmonyos harmonyosnext 鸿蒙 openharmony -
COM线程模型(四)
外界(不属
RPC 连接点 消息发送 -
COM线程模型(三)
COM套间 Apartment被翻译成套间或是单元,是线程模型的一个实现者
windows 算法 网络 发送消息 数学模型 -
COM线程模型(二)
STA 一个对象只能由一个线程访问(通过对象的接口指针调用其方法),其
服务器 windows 文档 线程模型 控件 -
CoClass(即COM接口类),实例化模式和线程模型
然后将显示Remote Data Module向导(见图15.2)。该向导过程中,您需要输入CoClass(即COM
microsoft pascal 服务器 library module -
Java线程-线程模型
java的两种线程模型是什么?[面试4.0]用户线程(ULT): 由用户应用程序实现的线程线程切换不需要内核模式,能节省内核资源,速度快每个进程仅有一个ULT能执行
java thread spring spring boot 应用程序