首页 > 其他分享 >观察线程的5个状态 线程不能重新启动

观察线程的5个状态 线程不能重新启动

时间:2023-03-04 16:36:58浏览次数:38  
标签:Thread thread state System 重新启动 线程 观察 out

package com.Java;

//观测线程状态
public class TestState {
public static void main(String[] args) throws InterruptedException {

Thread thread = new Thread(() -> {
for (int i = 0; i < 5; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("线程执行完毕");
});

Thread.State state = thread.getState();
System.out.println(state); //NEW

thread.start();
state = thread.getState();//Runnable
System.out.println(state);

while (state != Thread.State.TERMINATED) {//线程不停止就一直循环
Thread.sleep(100);
state = thread.getState();//更新线程状态
System.out.println(state); //TIMED_WAITING
}
state = thread.getState();
System.out.println(state); //TERMINATED
thread.start();//线程不能重新启动
}
}

标签:Thread,thread,state,System,重新启动,线程,观察,out
From: https://www.cnblogs.com/fc666/p/17178495.html

相关文章

  • 线程池
    线程池状态   线程池线程运行规则    JDK的线程池方法              线程池的注意点        延时任......
  • java 线程同步
    多种方式可以完成线程同步,传统方法是关键字synchronized完成的,可以是同步方法也可以是同步代码块同步方法@Data@AllArgsConstructor@NoArgsConstructorclassMyThea......
  • java 创建线程
    继承ThreadclassMyThread1extendsThread{@Overridepublicvoidrun(){System.out.println("继承Thread...");}}publicclassTest1{......
  • java 线程状态
    线程状态java.lang.Thread.State里明确了线程的各个状态以及怎么进入和退出各个状态publicenumState{//初始化状态,线程创建之后的状态,newThread()之后进......
  • Join线程插队
    packagecom.Java;//Join线程插队必须执行完再执行其他线程publicclassTestJoinimplementsRunnable{@Overridepublicvoidrun(){for(inti=0;......
  • Spring Boot @Scheduled 是同步还是异步,单线程还是多线程?
    @schedule刚开始用的时候回遇到一些坑,主要就是他的同步、异步、多线程的配置问题,这篇文章介绍了@schedule的使用方法,读者遇到问题时可以参考下。1.问题@schedule注解默......
  • 进程与线程
    被选为在计算机网络课上进行分享的人,准备分享近些天在Android编程时发现不了解的知识进程:定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操......
  • 线程sleep休眠的应用
    packagecom.Java;importjava.text.SimpleDateFormat;importjava.util.Date;//每个对象都有一个锁sleep不会释放锁publicclassTestSleep{publicstaticvoidmai......
  • 并发创建多少个线程合适
    前言使用多线程的目的是为了提升程序性能,在并发编程领域,提升性能本质上就是提升硬件的利用率,再具体点,就是提升I/O的利用率和CPU的利用率,而解决的方案就是多线程。那......
  • 线程的停止(建议线程正常运行停止)
    packagecom.Java;publicclassTestStopimplementsRunnable{//测试线程停止//1.建议线程正常停止-->利用次数不建议死循环//2.建议使用标志位-->设置一......