在java中当我们创建线程什么是Java中Thread的生命周期?
Thread t1 = new Thread(Runnable object);
t1.start();
的目标是什么的线程t1
的和run()
执行后的生命周期的不同阶段将是t1
状态?
在java中当我们创建线程什么是Java中Thread的生命周期?
Thread t1 = new Thread(Runnable object);
t1.start();
的目标是什么的线程t1
的和run()
执行后的生命周期的不同阶段将是t1
状态?
线程状态:
,线程也可以等待,等待定时和阻止的状态
进一步信息,请在这里看到: https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html
线程经历其生命周期的各个阶段。例如,线程诞生,启动,运行,然后死亡。下图显示了线程的完整生命周期。
Java线程 上面提到的阶段进行了说明:
New:
一个新的线程开始其生命周期的新状态。在程序启动线程之前,它一直处于这种状态。它也被称为天生的线索。
Runnable
:新建线程启动后,线程变为可运行。处于这种状态的线程被认为正在执行其任务。
Waiting:
有时候,一个线程在等待另一个线程执行任务时转换到等待状态。只有当另一个线程发信号通知等待的线程继续执行时,线程才会转换回可运行状态。
Timed waiting:
可运行线程可以在指定的时间间隔内进入定时等待状态。当该时间间隔到期或其正在等待的事件发生时,此状态中的线程将转换回可运行状态。
Terminated (Dead)
:可运行线程在完成其任务或以其他方式终止时进入终止状态。
来源:http://www.tutorialspoint.com/java/java_multithreading.htm
一个线程可以在以下State之一:
NEW :
还没有开始就处于这种状态的线程。
RUNNABLE :
在Java虚拟机中执行的线程处于此状态。
BLOCKED:
处于阻塞状态的线程正在等待监视器锁定,以便在调用Object.wait
后输入同步块/方法或重新输入块/方法。
WAITING:
无限期等待另一个线程执行特定操作的线程处于此状态。
线程处于等待状态由于调用下列方法之一:
Object.wait with no timeout
Thread.join with no timeout
LockSupport.park
TIMED_WAITING:
正在等待另一个线程来达到一个指定的等待时间是在此执行一个动作的线程州。
线程是在定时等待状态由于调用与指定正等待时间以下方法之一:
Thread.sleep
Object.wait with timeout
Thread.join with timeout
LockSupport.parkNanos
LockSupport.parkUntil
TERMINATED:
已退出的线程处于这种状态。
请参阅本article通过pramodbablad理解各种状态该图
在上述图中,除了RUNNING
(其已经在一个圆圈被示出)中,所有其它的矩形块表示各种thread states
。
显示没有研究成果:在您选择的搜索引擎中搜索“java线程生命周期”。 –
如果你想让这个问题开放,我会推荐格式化你的代码。否则,我会谷歌“Java线程文件”并通读。 – Stormie
https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html –