线程的生命周期
跟其他的一样,线程也是有生命周期的,当程序最开始运行的时候,系统会创建一个主线程,主线程结束表示这个程序运行的结束。
线程的状态:就绪,运行,阻塞,结束。
就绪:除了CPU以外的资源都已经具备了,得到cpu以后就可以运行。
运行:线程正常工作的状态。
阻塞:除了cpu以外还缺少其他的资源,正在等待系统分类缺少的资源。
结束:结束线程的运行。
线程的分离特性:
线程是否分离不影响其的运行,只是影响该线程结束以后资源是否会被收回,该线程具有分离属性则该线程结束以后系统会回收其内存,堆栈及其他系统资源,如果是非分离的线程则这些资源不会被回收,会浪费系统资源。有时候也会被称为僵尸线程。
默认生成的线程是非分离的线程,我们可以在创建线程的时候设置分离属性,也可以在线程运行的时候自我分离,调用pthread_join(pthread_id);即可分离线程。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步