1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java线程状态(Java线程状态和系统线程)

java线程状态(Java线程状态和系统线程)

时间:2022-07-30 12:45:35

相关推荐

java线程状态(Java线程状态和系统线程)

线程有几种状态?

一般说有3种,但也有说4种的

就绪:线程分配了CPU以外的全部资源,等待获得CPU调度

执行:线程获得CPU,正在执行

阻塞:线程由于发生I/O或者其他的操作导致无法继续执行,就放弃处理机,转入线程就绪队列

挂起:由于终端请求,操作系统的要求等原因,导致挂起。1.新建

4.死亡线程是一个动态执行的过程,它有一个从产生到死亡的过程,共五种状态:

1、新建(new Thread)

当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)

例如:Thread t1=new Thread();

2、就绪(runnable)

线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源。例如:t1.start();

3、运行(running)

线程获得CPU资源正在执行任务(run()方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。

4、死亡(dead)

当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行。

java线程到底有多少种状态

线程共有6种状态:

NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED

分别对应于

新建、运行、阻塞、等待、带超时的等待、终止线程在执行过程中,可以处于下面几种状态:

就绪(runnable):线程准备运行,不一定立马就能开始执行。

运行中(running):进程正在执行线程的代码。

等待中(waiting):线程处于阻塞的状态,等待外部的处理结束。

睡眠中(sleeping):线程被强制睡眠。

i/o阻塞(blocked on i/o):等待i/o操作完成。

同步阻塞(blocked on synchronization):等待获取锁。

死亡(dead):线程完成了执行。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。