1.空间上的开销

  • thread本身就是操作系统的概念
  • thread是内核数据结构,其中有osid,context=>cpu寄存器的里面的一些变量..30ms
  • thread 环境块
  1. tls(thread本地存储),execptionlist的信息 
  2. 查看线程的工具windb:
  • 用户模式堆栈  内存溢出的一个有异常【堆栈溢出】
  • 一个线程分配1m的堆栈空间【参数,局部变量】
  • 内核模式堆栈;在clr(公共执行语言)的线程操作,包括线程同步,大多数都是调用底层的win32函数,用户模式的参数需要传递到内核模式

2.时间的开销

  •  我们的线程启动的时候,会加载很多的dll【托管和非托管】,exe,资源,元数据

  • 开启一个thread,销毁一个thread都会通知进程中过的dll,attach,detach标志位

  • 通知dll的目的就是给thread做准备工作,比如销毁,让这些dll做资源清理
  • 时间片切换:逻辑处理器4个可以提供4个thread并行执行
  • 如果有5个thread 并行,就一定会有一个thread休眠30ms

以上是看视频的笔记,有些不是特别的懂,给你自己做个笔记,以后好复习!