原文:一个线程两次或者多次调用start()方法会怎么样

会抛出IllegalThreadStateException 示例代码如下: 之所以会抛出异常,是因为在start 函数里,一开始会检查线程状态,如果线程状态不为 ,会抛出该异常。线程的状态初始值为 ,当第一次进入start 方法后,会修改线程状态,使其不为 ,第二次进入start 函数,那么肯定就抛出异常了 ...

2020-04-15 21:41 0 851 推荐指数:

查看详情

Java里一个线程两次调用start()方法会出现什么情况

  这里有一道经典的面试题:“一个线程两次调用start()方法会出现什么情况?”,咱们这次结合案例从线程源码的角度炒剩饭。   答:Java的线程是不允许启动两次的,第二调用时,线程可能处于终止或者其它(非NEW)状态,必然会抛出IllegalThreadStateException,这是 ...

Sat Apr 17 22:52:00 CST 2021 0 413
面试连环炮系列(十):一个线程调用两次start会怎么

一个线程调用两次start会怎么 Java的线程是不允许启动两次的,第二调用必然会抛出IllegalThreadStateException,这是一种运行时异常。 谈谈线程的生命周期和状态转移 新建(NEW),表示线程被创建出来还没真正启动的状态,可以认为它是 ...

Sat Sep 28 18:32:00 CST 2019 0 341
从Thread.start()方法看Thread源码,多次start一个线程会怎么

这篇文章作为Thread类源码剖析的补充,从一个侧面来看Thread源码。也解答了面试高频问题:“多次start一个线程会怎么?” 答案是:java.lang.IllegalThreadStateException 线程状态非法异常 继承关系是:--->extends ...

Sat Sep 30 02:10:00 CST 2017 0 7903
启动一个线程调用 run()还是 start()方法

启动一个线程调用 start()方法,使线程所代表的虚拟处理机处于可运行状态, 这意味着它可以由 JVM 调度并执行,这并不意味着线程就会立即运行。run()方 法是线程启动后要进行回调(callback)的方法。 ...

Mon Jun 01 21:20:00 CST 2020 0 1212
一个接口同时调用两次其中一个不生效?

在工作中有时候会遇到这样的需求一个页面有多个区域,每个区域根据不同的条件去后台查同一个接口。 当我调用此接口两次的时候,其中一个是不会生效的,甚至network中你会发现只发了一请求, 后来我试了一下调第二个方法的时候放在setimeOut中,时间是1000ms问题解决,但是改成100,接口 ...

Thu Jul 16 19:02:00 CST 2020 0 1052
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM