美文网首页
Java中一个线程可以多次start吗?

Java中一个线程可以多次start吗?

作者: 这个该叫什么呢 | 来源:发表于2018-01-17 15:36 被阅读0次

Java中一个线程可以多次start吗?

不可以
通过Thread实例的start(),一个Thread的实例只能产生一个线程。一个Thread的实例一旦调用start()方法,这个实例的started标记就标记为true,事实中不管这个线程后来有没有执行到底,只要调用了一次start()就再也没有机会运行了。
一个线程对象只能调用一次start方法.从new到等待运行是单行道,所以如果你对一个已经启动的线程对象再调用一次start方法的话,会产生:IllegalThreadStateException异常. 可以被重复调用的是run()方法。
Thread类中run()和start()方法的区别如下:
run()方法: 在本线程内调用该Runnable对象的run()方法,可以重复多次调用;
start()方法: 启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程

相关文章

  • 2019-04-23

    Java中一个线程可以多次start吗? 不可以 通过Thread实例的start(),一个Thread的实例只能...

  • Java中一个线程可以多次start吗?

    Java中一个线程可以多次start吗? 不可以通过Thread实例的start(),一个Thread的实例只能产...

  • Java面试题---基础题目

    Java线程的状态: New 刚被new出来,没有调用start方法 Runnable 调用了start方法,可以...

  • Java-3

    线程中的join()多线程中的run()和start()java中的++i操作是线程安全的吗3*0.1 == 0....

  • Java 线程调用start()后会立即执行run()方法吗?

    问题 Java 线程调用start()后会立即执行run()方法吗? 我们在开发中,经常和线程打交道,有些东西总是...

  • java多线程编程核心技术笔记一

    线程概念: 线程可以理解为进程中独立运行的子任务。 线程的启动: Thread.java类中的start()方法通...

  • 线程启动:源码的理解

    线程 调用 star() 的过程分析: 当 Java 线程创建好后,调用 start() 方法就会启动一个线程,...

  • Java多线程中start()和run()的区别

    Java多线程中start()和run()的区别 Java的线程是通过java.lang.Thread类来实现的。...

  • java线程相关

    做了一个跟多线程相关的oj。遇到几个问题如下: 1 同一个线程不能多次start(),否则出发异常,如果需要多次启...

  • 线程启动原理

    Java多线程,皆始于Thread。Thread是多线程的根,每一个线程的开启都始于Thread的start()方...

网友评论

      本文标题:Java中一个线程可以多次start吗?

      本文链接:https://www.haomeiwen.com/subject/piruoxtx.html