什么是单线程单元?

来源:百度知道 编辑:UC知道 时间:2024/07/07 02:56:03
如题。我是C#初学者,一次在一个WinForms项目中的Program.cs文件的应用程序主入口点static void Main()函数上看到有一个属性[STAThread],说明中写道:“指示应用程序的 COM 线程模型是单线程单元 (STA)”。我想问的就是什么叫做单线程单元?

将此属性应用于入口点方法(C# 和 Visual Basic 中的 Main() 方法)。它对其他方法无效。
单线程模型是相对多线程模型而言的。
STA的程序每个线程都有自己独立的资源,别的线程访问不到
MTA则是.NET程序的默认线程模型
就是n个线程可以共用一个资源,好处很多,但是也带来了复杂性