* 有时候需要一些工具帮助我们观察线程和进程的状态 spy++打开默认是窗口
* 旁边是 进程和线程 选择一个进程 右键属性
* 常规 不重要
* 内存
* 虚拟字节的内存
* 专用字节
* 可用字节
* 页文件
* 空格键 内存信息
* 选择一个线程 右键属性
* 线程iD
* 进程ID
* 起始地址
* 线程状态
* 上下文开关 线程被加载运行的次数
*
* 学习线程的状态
* 启动
* CONTEXT
* 使用计数2
* 暂停计数=1 -1 =0(可以进入CPU的调度,当前线程是可执行的状态)
* 运行 CPU调度
* 执行我们的函数
* 时不时的切换我们的线程 -》 写入 CONTEXT -》
* 读取context
* 挂起 暂停线程的运行
* 暂停计数+1
* 在切换线程的时候不会调度它 不会有信号
* 特别注意 他大部分是通过代码来保证运行 有时候无法控制
* 等待
* 休眠
* 消亡
*/
//SuspendThread() 暂停如果是64的就 wow64.. 就会挂起
* 旁边是 进程和线程 选择一个进程 右键属性
* 常规 不重要
* 内存
* 虚拟字节的内存
* 专用字节
* 可用字节
* 页文件
* 空格键 内存信息
* 选择一个线程 右键属性
* 线程iD
* 进程ID
* 起始地址
* 线程状态
* 上下文开关 线程被加载运行的次数
*
* 学习线程的状态
* 启动
* CONTEXT
* 使用计数2
* 暂停计数=1 -1 =0(可以进入CPU的调度,当前线程是可执行的状态)
* 运行 CPU调度
* 执行我们的函数
* 时不时的切换我们的线程 -》 写入 CONTEXT -》
* 读取context
* 挂起 暂停线程的运行
* 暂停计数+1
* 在切换线程的时候不会调度它 不会有信号
* 特别注意 他大部分是通过代码来保证运行 有时候无法控制
* 等待
* 休眠
* 消亡
*/
//SuspendThread() 暂停如果是64的就 wow64.. 就会挂起