有螺纹生命周期的一些州,
新州
就绪状态
运行状态
死亡状态
等待状态
睡眠状态
暂停状态
我们将研究上述所有状态:
1)新状态
当实例化或创建线程时,线程将处于新状态。
语法:
NewThread nt = new NewThread();
2)就绪状态
当我们start()
在线程对象上调用方法时,我们的线程将处于就绪状态(即准备进入运行状态)。
语法:
nt.start();
3)运行状态
在这里,我们讨论进入运行状态之前的一件事。线程调度程序的作用是什么线程调度程序根据优先级将处理器分配给等待的线程。当线程调度程序将处理器分配给线程时,我们的线程将处于运行状态,这意味着线程将有机会执行。
4)死亡或终止状态
当run()
方法完成执行时,我们的线程将处于死状态或最后状态。
5)运行→准备就绪
如果正在运行的线程调用yield()
方法,那么我们的正在运行的线程将处于运行状态,因为yield()
停止执行并给其他正在等待的线程提供了机会。
语法:
Thread.yield();
6)等待状态
如果正在运行的线程调用join()
方法,那么我们的线程将处于等待状态,因为要join()
等到完成其他某个线程为止。如果线程从(等待就绪)状态中退出,则有两个条件:
如果等待线程被中断。
如果时间到了。
语法:
obj.join();
7)睡眠状态
如果正在运行的线程调用sleep()
方法,那么我们的线程将进入睡眠状态,并且在少数情况下睡眠线程从中退出(从睡眠状态变为就绪状态):
如果时间到了。
如果睡眠线程被中断。
语法:
Thread.sleep();
7)暂停状态
当一个正在运行的线程调用suspend()
方法时,我们的正在运行的线程将处于挂起状态,而被挂起的线程将通过调用resume()
方法而处于就绪状态。
语法:
obj.suspend();
阅读更多...
如何创建Java线程(创建线程的Java示例)?
Java中的线程同步示例。
Java程序演示线程示例。
Java程序加入线程。