欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

并发] 知识摘要 - 线程的基本概念

最编程 2024-10-07 15:30:08
...

一、线程与进程
进程:程序的一次执行过程,系统运行程序的基本单位,进程是动态的。程序运行就是进程从创建,运行到消亡的过程。进程之间相互独立资源不共享。
线程:线程是比程序更小的执行单位,进程执行的过程中会产生多个线程。线程之间会共享方法区的资源,线程有自己的程序计数器、虚拟机栈和本地方法栈
二、 线程的生命周期和状态
NEW: 初始状态,线程被创建出来但没有被调用 start() 。
RUNNABLE: 运行状态,线程被调用了 start()等待运行的状态。
BLOCKED:阻塞状态,需要等待锁释放。
WAITING:等待状态,表示该线程需要等待其他线程做出一些特定动作(通知或中断)。
TIME_WAITING:超时等待状态,可以在指定的时间后自行返回而不是像 WAITING 那样一直等待。
TERMINATED:终止状态,表示该线程已经运行完毕
三、线程上下文切换
线程在执行过程中会有自己的运行条件和状态(也称上下文),比如上文所说到过的程序计数器,栈信息等。当出现如下情况的时候,线程会从占用 CPU 状态中退出。

推荐阅读