gpt4 book ai didi

c# - .net 应用程序的生命周期是什么

转载 作者:太空狗 更新时间:2023-10-29 20:04:23 25 4
gpt4 key购买 nike

<分区>

有一个简单的 .net .exe 应用程序。一旦执行,它的生命周期是多少。我的理解是会发生以下情况:

> 1. OS loads exe assemblies into memory
> 2. OS checks if it is in fact .net assembly
> 3. mscoree.dll loads, and loads CLR
> 4. CLR takes over and loads external dlls, GC stuff, memory management etc.
> 5. CLR creates app domain where exe assemblies are loaded
> 6. exe is started

鉴于以上是正确的(请随意详细说明),我对最后一步感兴趣,即 CLR 加载程序集时。

  1. 创建了多少栈、堆、线程?线程是否已创建并执行可执行文件中的代码?
  2. 分配的初始内存大小是多少?谁分配内存(OS 还是 CLR?)
  3. 它如何知道最初需要多少内存?
  4. 如果 exe 运行时需要更多内存,谁来决定分配多少内存以及何时分配?
  5. 关闭 exe 时会发生什么?CLR 在卸载 App Domain 之前是否运行任何 GC? (关闭 exe),还是操作系统?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com