STAThread 和 MTAThread
STAThread:single threaded apartment 直译过来是:单线程单元套间
MTAThread:multiple threaded apartment 直译过来是:多线程单元套间
差别其实就是这个:
其他线程对STA中的COM对象的访问需要列集(marshal),通过列集,自动实现了多线程访问下的同步。
所有线程对MTA中的COM对象的访问不需要列集,直接访问,需要COM组件自身实现多线程下的同步。
COM对象和客户端的组件模型设定, 决定最终的组件模型时怎样, 以下这篇文章挺详细:
http://www.cnblogs.com/ioexception/p/dotnet_STAThread_MTAThread.html
STAThread 和 MTAThread的更多相关文章
- .NET中STAThread和MTAThread
本文讨论在.NET中使用进程内COM组件时的公寓模型,以一个示例直观演示STAThread和MTAThread的作用和区别. 1. COM中的公寓 1.1 基本规则 公寓是COM组件的运行环境,日常生 ...
- 【转】 .NET中STAThread和MTAThread
ref:http://blog.csdn.net/dyllove98/article/details/9735955 1 COM中的公寓 本文讨论进程内COM组件.以一个示例直观演示STAThread ...
- C#中一些默认的预定义属性
C#中一些默认的预定义属性,见下表: 预定义的属性 有效目标 说明 AttributeUsage Class 指定另一个属性类的有效使用方式 CLSCompliant 全部 指出程序元素是否与CLS兼 ...
- AwaitAsync(异步和多线程)
参考了一些大佬写的文章: https://www.cnblogs.com/yilezhu/p/10555849.html这个大佬写的文章,我还是很喜欢的 https://www.cnblogs.com ...
- C#一些不太熟悉的类——扩展学习
Process.CloseMainWindow Method 通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程. 注解 进程执行时,其消息循环处于等待状态. 每次操作系统将 Windows 消息 ...
- [STAThread]的含义
Posted on 2007-07-07 10:06 桦林 阅读(33100) 评论(10) 编辑 收藏 [STAThread]STAThread:Single Thread Apar ...
- C#中[STAThread]的作用
[STAThread]STAThread:Single Thread Apartment Thread.(单一线程单元线程)[]是用来表示Attributes: [STAThread]是一种线程模型, ...
- C# [STAThread]
转载:http://www.cnblogs.com/netdazhi/articles/1189549.html 每个Thread都有一个关于ApartmentState的属性,可以把它设置为:STA ...
- [STAThread] 作用
[STAThread]是一种线程模型,用在程序的入口方法上(在C#和VB.NET里是Main()方法),来指定当前线程的ApartmentState 是STA. [STAThread]是声明开始线程用 ...
随机推荐
- python_如何对实例属性进行类型检查?
案例: 在某项目中,我们实现了一些类,并希望能像静态语言那样对他们的实例属性进行类型检查 p = Person() p.name = 'xi_xi' # 必须是str p.age = ...
- Servlet--HttpServletRequest一些不常用的方法
我们在使用Servlet和表单进行交互的时候,不管是传参和接参经常要写一些路径.关于具体的Servlet的传参和接参我后面会有详细的整理,这里先整理一下不怎么常用的到一些HttpServletRequ ...
- Servlet--ServletContext接口
Servlet--ServletContext接口 定义public interface ServletContext 定义了一个 Servlet 的环境对象,通过这个对象,Servlet 引擎向 S ...
- JAVA中正则表达式常用的四个方法
JAVA中正则表达式处理字符串的四个常用方法:匹配.分割.替换.截取.其跟字符串的常用函数相似,但是使用正则表达式会更简单.更加简洁.下面是具体的例子: public class TestRegex ...
- 详解spl_autoload_register() 函数(转)
原文地址:http://blog.csdn.net/panpan639944806/article/details/23192267 在了解这个函数之前先来看另一个函数:__autoload. 一._ ...
- TCP粘包和拆包问题
问题产生 一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题. 下面可以看一张图,是客户端向服务端发送包: 1. 第一种情况 ...
- 企业级Docker私有仓库之Harbor部署(http)
部署环境 Centos7.3 x64 docker-ce-17.06.0 docker-compose-1.15.0 Python-2.7.5(系统默认) Docker及Docker-compose安 ...
- cache.config文件配置模板
# # cache.config # # The purpose of this file is to alter caching parameters of # specific objects o ...
- CentOS7修改SSH远程连接端口
CentOS7修改SSH远程连接端口
- JdbcTemplate的使用
NamedParameterJdbcTemplate中包含了一个JdbcTemplate,NamedParameterJdbcTemplate中的很多方法实际上还是交由JdbcTemplate去完成. ...