ApartmentState

来源:互联网 发布:linux安装amd显卡驱动 编辑:程序博客网 时间:2024/06/09 15:56

ApartmentState用来指定 System.Threading.Thread 的单元状态。是一个枚举类型变量。有三个枚举成员。

分别是STA、MTA、Unknown。

STA:    System.Threading.Thread 将创建并进入一个单线程单元

MTA:   System.Threading.Thread 将创建并进入一个多线程单元

Unknown尚未设置 System.Threading.Thread.ApartmentState 属性

一个Thread实例之后可以使用SetAppartmentState方法设置线程的单元状态,

每个线程只可以设置一次,若再次设置会抛异常。

在不设置线程的AppartmentState时,默认值是MTA。


STA和MTA的主要区别应该是他们对资源的占用情况:
STA线程都有自己独立的资源,别的线程访问不到,比如winform
MTA可以共用一个资源,ThreadPool就是一个很好的MTA例子

0 0
原创粉丝点击