进程与线程:
进程:
进程是操作系统资源分配的单位,其中存放dll,代码,堆,栈
线程:
调度单位
多线程优点:
1.提高响应能力:GUI程序,主线程操作UI,耗时操作放在工作线程中
2.提高程序性能
线程有哪些开销:
空间上:
1.数据结构上
C#:Thread 类
CLR: Thread (C++)
OS: Thread
2.线程栈
一个线程默认最大栈空间1M,线程越多,栈空间越大
3.teb开销 teb:线程环境块
TLS(线程本地存储)
时间上:
1. dllmain:非托管dll 上面有 dllmain,当线程start和exit的时候会通知这些dll做一些资源清理什么的
2.上下文切换:CPU和线程的交互,大约30ms一次,thread暂停时保存数据,恢复时恢复数据.
如果上下文切换非常频繁,会造成cpu爆高.
标签:Thread,teb,dll,线程,进程,dllmain From: https://www.cnblogs.com/anlingxiao/p/18065559