线程开销

空间开销

  1. 线程内核对象(内核数据结构) 
    OSID线程ID 、 Context 上下文信息(寄存器地址等) 等
  2. 线程环境快 TEB
    线程本地存储TLS 、异常处理链首
    使用windbg工具查看(!teb)
  3. 用户模式栈
    一个线程默认1M 栈空间
  4. 内核模式栈
    保存用户模式传递到内核模式的参数

时间开销

  1. 通知dll(attach或dettach标志位),准备线程的加载或销毁
    启动线程需要加载dll(dll包括exe、元数据、资源文件)(dll加载在domain中,普通的appliction会有三个domain :system、share、appdoamin)
  2. 时间片切换(时间片大概30ms)

posted @ 2019-08-18 16:42  vvf  阅读(141)  评论(0编辑  收藏  举报