STA和MTA线程模式的区别

线程模式分为STA(Single Threaded Apartment) 单线程单元 和 MTA 多线程单元



STA线程单元的运方式称为每客户对象(Object-per-Client)模式,其含义是创建STA线程单元拥有它自己的线程。在任何一单元之内都只能有一个线程。在STA线程模式中,对线程的所有调用都放到一个队列中,
然后逐个处理这些调用。因此,STA线程永远不会同时执行多个方法。STA线程有自己的专有数据,
它们不会在线程之间共享数据。这种特征使这一线程模式非常安全,避免了数据的损坏和同步问题。




STA和MTA线程单元的最大不同在于,在同一个单元中,MTA单元可以同时运行多个线程,并使用所有可用的共享数据,如图。由于MTA模式支持同时执行多个线程,所以调用者应负责同步多个线程之间的全局数据。
补充:
MTA图示MTA图示

posted @ 2013-07-11 15:11  邃蓝星空  阅读(664)  评论(0)    收藏  举报