015 线程退出 启动

线程退出 启动 
  ● 当一个进程销毁的时候
    ○ 销毁临时对象
    ○ 释放堆栈
    ○ 将返回值设置为我的退出代码
    ○ 减少进程内核对象的使用次数
  ● 当一个线程销毁的时候
    ○ 销毁临时对象 调用我的们的析构函数
    ○ 释放当前线程里面锁分配堆栈 -> 窗口 -> HOOK
    ○ 将返回值设置为我的退出代码 线程的入口函数的返回值设置为我的退出代码
    ○ 减少进程内核对象的使用次数
  ● ExitThread 立即结束当前线程
  ● TerminateThread 可以结束其他的线程

  ● Exit
    ○ 会将属于当前的线程的栈销毁
    ○ 但是他不会去调用析构函数
    ○ 很容易造成内存泄漏

  ● 线程启动
    ○ 内核对象结构体
      ○ 使用计数
      ○ ExitCode
      ○ Signaled 当前这个对象是否是能接受信号的状态
      ○ CONTEXT 上下文 当前CPU的状态
        ○ 存储了CPU寄存器的状态 IP(指令) SP(栈寄存器)
    ○ 线程去进程当中,申请一块内存,作为我当前线程的栈。
      ○ lParam
      ○ lpStartAddress 线程的入口函数
      ○ 如果是做逆向的恶化上面两个参数标识

原文地址:https://www.cnblogs.com/sdk123/p/7043468.html