美文网首页
一个对象实例只能start一个线程

一个对象实例只能start一个线程

作者: 小灰灰_5c75 | 来源:发表于2021-05-31 23:14 被阅读0次

每个对象实例在start后在运行结束之前不能再次调用start启动,否则报错:
Exception in thread "main" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:705)

很简单,在start方法第一行就是判断线程状态是否在运行中,否则直接抛出异常:
private volatile int threadStatus = 0; //not yet started

相关文章

  • 2019-04-23

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

  • 一个对象实例只能start一个线程

    每个对象实例在start后在运行结束之前不能再次调用start启动,否则报错:Exception in threa...

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

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

  • 线程的状态与生命周期

    新建 - 就绪 - 运行 - 阻塞 - 死亡 新建:实例化线程对象 就绪:向线程对象发送start消息,线程对象被...

  • ThreadLocal源码分析,java的引用类型

    ThreadLocal 使用实例 使用ThreadLocal创建的对象只能被当前线程访问,每个线程保存一个对象的...

  • 线程重复执行问题与线程池

    线程重复运行问题 一个线程的start,只能start一次,再次调用start方法就会抛出异常。 内部实现这个的原...

  • 线程状态

    一、线程状态 1. new:新创建一个线程对象,还未调用start函数 2. Runnable:调用start函数...

  • 实现/创建线程的四种方式

    继承Thread类 Thread类实际上是Runnable接口的一个实例,代表一个线程的实例。start()方法是...

  • 设计模式 - 单例模式

    在项目开发时有一些对象其实我们只需要一个,比如:线程池、缓存、日志对象等等。这类对象只能有一个实例,如果制造出多个...

  • (2)Thread中常用的方法

    start&run 需要注意的是,start()才是启动线程的方法,而run只是普通的一个实例方法. sleep&...

网友评论

      本文标题:一个对象实例只能start一个线程

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