在java中,线程有哪些状态?

提问者:帅平 问题分类:面试刷题
在java中,线程有哪些状态?
1 个回答
单身成瘾i
单身成瘾i
在Java中,线程有以下几种状态:
1、新建(New):当线程对象被创建时,它处于新建状态。此时线程还没有开始执行。
2、运行(Runnable):当调用线程的start()方法后,线程进入运行状态。此时线程正在执行任务。
3、阻塞(Blocked):当线程被阻塞时,它暂时停止执行。线程可能会进入阻塞状态的原因有多种,比如等待某个资源、等待输入/输出等。
4、等待(Waiting):线程进入等待状态是因为调用了Object类的wait()方法、Thread类的join()方法或LockSupport类的park()方法。在等待状态下,线程会释放持有的锁。
5、超时等待(Timed Waiting):线程进入超时等待状态是因为调用了Thread类的sleep()方法、Object类的wait(long timeout)方法、Thread类的join(long millis)方法或LockSupport类的parkNanos()方法。
6、终止(Terminated):线程执行完任务后,或者因异常而结束,线程进入终止状态。
发布于:2年前 (2023-09-22) IP属地:四川省
我来回答