相同/不同CLR上的Threadpool实例

时间:2012-06-02 06:18:07

标签: .net threadpool

我有3个.net进程在机器上运行(每个进程之间没有连接) 所有进程都使用相同的.net版本编译(比方说.net 4.0)

  1. 是否所有进程都使用相同的threadPool? threadPool实例是否是在机器上运行的每个CLR?或者每个进程都持有自己的threadPool?

  2. 如果使用.net 2.0 =>编译其中一个进程。是否会有更多的threadPool实例(这将增加开销,因为更多的threadPool实例将形成将出现在这个新的threadPool中的新线程)?

1 个答案:

答案 0 :(得分:3)

ThreadPool只是生产者/消费者队列的托管包装器 - 每个AppDomain。它不会在进程之间共享。每个进程通常有一个AppDomain,但即使您在一个进程中创建多个AppDomain实例,ThreadPools也将是独立的。但请注意,托管和非托管线程不是一回事:托管线程如何由进程的非托管线程提供服务是一个实现细节。