015 线程退出 启动

Posted ☆﹎夜﹎☆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了015 线程退出 启动相关的知识,希望对你有一定的参考价值。

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

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

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

以上是关于015 线程退出 启动的主要内容,如果未能解决你的问题,请参考以下文章

python 多线程2-线程的创建启动,退出

多线程应用程序的行为不清楚:无法退出线程

JVM生命周期

JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?

如何在退出前安全地关闭所有线程[重复]

确保所有线程都退出