【转】 .NET中STAThread和MTAThread】的更多相关文章

本文讨论在.NET中使用进程内COM组件时的公寓模型,以一个示例直观演示STAThread和MTAThread的作用和区别. 1. COM中的公寓 1.1 基本规则 公寓是COM组件的运行环境,日常生活中公寓是用来住人的,COM中的公寓是用来住COM组件的对象的,每个COM对象必须且只能位于一个公寓中:单线程公寓(STA)或多线程公寓(MTA). 每个进程可以有0或多个STA. 每个进程可以有0或1个MTA. 一个线程只能关联到一个公寓.因此所有关联到MTA的线程都是关联到进程唯一的一个MTA.…
ref:http://blog.csdn.net/dyllove98/article/details/9735955 1 COM中的公寓 本文讨论进程内COM组件.以一个示例直观演示STAThread和MTAThread的作用和区别. 1.1 基本规则 公寓是COM组件的运行环境,日常生活中公寓是用来住人的,COM中的公寓是用来住COM组件的对象的,每个COM对象必须且只能位于一个公寓中:单线程公寓(STA)或多线程公寓(MTA). 每个进程可以有0或多个STA. 每个进程可以有0或1个MTA.…
STAThread:single threaded apartment 直译过来是:单线程单元套间 MTAThread:multiple threaded apartment 直译过来是:多线程单元套间 差别其实就是这个: 其他线程对STA中的COM对象的访问需要列集(marshal),通过列集,自动实现了多线程访问下的同步. 所有线程对MTA中的COM对象的访问不需要列集,直接访问,需要COM组件自身实现多线程下的同步. COM对象和客户端的组件模型设定, 决定最终的组件模型时怎样, 以下这篇…
[STAThread]STAThread:Single Thread Apartment Thread.(单一线程单元线程)[]是用来表示Attributes: [STAThread]是一种线程模型,用在程序的入口方法上(在C#和VB.NET里是Main()方法),来指定当前线程的ApartmentState 是STA.用在其他方法上不产生影响.在aspx页面上可以使用AspCompat = "true" 来达到同样的效果.这个属性只在 Com Interop 有用,如果全部是 man…
Process.CloseMainWindow Method 通过向进程的主窗口发送关闭消息来关闭拥有用户界面的进程. 注解 进程执行时,其消息循环处于等待状态. 每次操作系统将 Windows 消息发送到该进程时,消息循环都会执行. 调用CloseMainWindow将发送一个请求来关闭主窗口,该窗口在格式正确的应用程序中将关闭子窗口,并为应用程序撤消所有正在运行的消息循环. 通过调用CloseMainWindow退出进程的请求不会强制应用程序退出. 应用程序可以在退出前要求用户进行验证,也可…
C#中一些默认的预定义属性,见下表: 预定义的属性 有效目标 说明 AttributeUsage Class 指定另一个属性类的有效使用方式 CLSCompliant 全部 指出程序元素是否与CLS兼容 Conditional Method 指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用 DllImport Method 指定包含外部方法的实现的DLL位置 STAThread Method(Main) 指出程序的默认线程模型为STA MTAThread Method(Mai…
参考了一些大佬写的文章: https://www.cnblogs.com/yilezhu/p/10555849.html这个大佬写的文章,我还是很喜欢的 https://www.cnblogs.com/mushroom/p/4575417.html https://blog.csdn.net/dyllove98/article/details/9735955这篇文章是讨论在.NET中使用进程内COM组件时的公寓模型,以一个示例直观演示STAThread和MTAThread的作用和区别. C#5.…
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架.使用 Django,我们在几分钟之内就可以创建高品质.易维护.数据库驱动的应用程序. Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美... info:更多OpenERP信息url:https://www.oschina.net/p/o…
stathread这种线程是给COM组件使用的线程,如果不适用com对象 如果com对象标记为sta的,则它就是单线程运行的 stathread 组件线程遗留的标签…
Posted on 2007-07-07 10:06 桦林 阅读(33100) 评论(10) 编辑 收藏 [STAThread]STAThread:Single     Thread     Apartment Thread.(单一线程单元线程)[]是用来表示Attributes: [STAThread]是一种线程模型,用在程序的入口方法上(在C#和VB.NET里是Main()方法),来指定当前线程的ApartmentState 是STA.用在其他方法上不产生影响.在aspx页面上可以使用Asp…