Java线程有六种状态:
- 新建
- 运行
- 阻塞
- 等待
- 等待(有时限)
- 终结
在操作系统层面来看,线程有五种状态:
- 新建
- 就绪(有资格分到cpu,但还没轮到)
- 运行(有资格分到cpu,并正在执行)
- 阻塞(没资格分到cpu)
- 终结
分到cpu时间的:运行
可以分到cpu时间的:就绪
分不到cpu时间的:阻塞
一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。运行run()方法并分到了cpu才是运行状态。