来自关于 STAThread 的 MSDN 文章:
指示应用程序的 COM 线程模型是单线程单元 (STA)。
(仅供参考,这是整篇文章。)
单线程公寓...好吧,这超出了我的想象。另外,我在某处读到,除非您的应用程序使用 COM 互操作,否则此属性实际上什么都不做。那么它究竟做了什么,它又如何影响多线程应用程序呢?多线程应用程序(包括从任何使用Timer
s 到异步方法调用的任何东西,而不仅仅是线程池等)是否应该使用 MTAThread,即使它“只是为了安全”?STAThread 和 MTAThread 实际上是做什么的?