http://tech.enet.com.cn/document/20020401/2002040115434701.shtml希望对你有帮助!

解决方案 »

  1.   

    你知道编写多线程程序时要注意很多问题:竞争条件、通信、死锁、临界区、互斥、信号量实在是很头疼的事,为了更容易的使用线程,COM引入了套间的概念:
        套间规定了一些COM对象的访问方式(是否可并行访问?能否重入等?),
        每一个使用COM的进程都有一个或者多个套间,
        而一个进程可能有一个或多个线程,
        任何一个正在执行的COM对象一定位于某个套间中,
        一个线程想要使用COM时,它就必须先进入一个套间,
        任何一个线程在某一时刻只能在一个套间中执行。    COM的套间有两类:
            单线程套间(STA,single-threaded apartment)  只有一个线程可以在其内执行
            多线程套间(MTA,multi-threaded apartment)   允许多个线程可在其内并发执行
        Win2K实现的COM+又引入了一个新的选择方案:中立套间(NA,neutral apartment)
    不同的并行处理需要使用不同的套间类型,而执行COM的系统必须知道访问每个COM对象的线程的类型,这就是线程模型。线程模型说明了说明其对象可以运行的套间类型。
        对应套间类型,线程模型模型也有
            单线程模型(single-threaded model)、
            套间模型(apartment model)、
            自由线程模型(free-threaded model)、
            双线程模型(both threaded)、
            中立线程(neutral threaded)
    上下文(context):
        当一个线程被中断时,寄存器的内容被拷贝到一个context结构中,以备将来交换时用。
        就像《操作系统》中的程序状态字PSW,交换PSW就相当于交换进程,只不过这里是线程。
      

  2.   

    线程模型:
    http://cs.nju.edu.cn/cs2/lianjie/e_book/asp/part28/28-1.cfmwish can help you !:)