|
|
1
2
我会根据你的具体情况进行基准测试。 如果它被证明是昂贵的,只需预先创建一些,根据需要使用,并在后台重新创建新的,以确保你总是有足够的未使用的等待(有点像线程池,但每次都要重新创建以释放内存)。 |
|
|
2
1
据我所知,它只是比生成线程慢一点。
一直在做一些研究,试图找到一个真正的参考。到目前为止,这是我能想到的最好的:
大约2/3的时间里,创建AppDomain是“昂贵的”,但在某些情况下,你可能会对线程说同样的话——这实际上取决于特定线程在创建时做了什么。 再次强调:据我所知,AppDomain本质上是进程中的一个线程(或多个线程)——如果你愿意的话,它是一个逻辑分隔符——这样运行时就保证了某些额外的保护措施是有效的,可以防止单独的AppDomain相互干扰。要在现有进程(应用程序)中创建新的AppDomain,框架必须完成与创建新线程相关的所有工作,以及在应用程序的其余部分中设置它的一些额外开销(这也可能涉及将一个或多个程序集加载到内存中)。最后,AppDomain位于线程和进程之间。 |
|
|
Rob · 如何将AppDomain序列化到磁盘 13 年前 |
|
|
user2341923 · 进程内存与应用程序域内存分配 13 年前 |
|
|
Scott · 在第二个AppDomain中运行服务 13 年前 |