当前位置: 首页 > 知识库问答 >
问题:

多线程上下文中的IllegalStateException

贺元明
2023-03-14

我正在学习核心java,并学习了多线程非法状态异常

我已经阅读了标准文档和这个问题,所以。。。但是在线程上下文中找不到合适的解决方案。

用书中的话说:

IllegalStateException在两次启动线程时引发。

我不明白它说什么...甚至没有给出例子...

当它发生在线程上下文中时?有人能举个例子吗?

共有2个答案

柴坚诚
2023-03-14

是的,如果Thread已经启动,则不能调用它的start方法

公开作废开始()

使该线程开始执行;Java虚拟机调用此线程的run方法。

结果是两个线程同时运行:当前线程(从调用start方法返回)和另一个线程(执行其run方法)。

多次启动线程是不合法的。特别是,线程一旦完成执行,就不能重新启动。

抛出:IllegalThreadStateExcION-如果线程已经启动。

另请参见:run(),stop()

(来源)

寿翰飞
2023-03-14
   public static void main(String[] args) {
      Thread t = new Thread();
      t.start();
      t.start();
   }

生产:

Exception in thread "main" java.lang.IllegalThreadStateException    at
java.lang.Thread.start(Thread.java:682)     at
quicktest.CopyOnWrite.main(CopyOnWrite.java:23)
Java Result: 1
 类似资料:
  • 我在我的Spring boot应用程序中使用OAuth2RestTemplate,并通过它使用一些资源,因为它封装了所有身份验证信息,所以我可以只发送请求,而不用担心令牌和其他身份验证内容。 在我并行发送请求之前,一切都很好。 由于OAuth2RestTemplate有一个作用域(它是本地的,因为它包含用户的会话相关信息),当我试图在多线程环境中使用它时,我得到以下异常 组织。springfram

  • 问题内容: 我正在关注youtube上的教程,但是OpenGL存在我无法解决的问题。我不知道该如何解决。 主要 问题答案: 您需要调用glfwMakeContextCurrent将OpenGL上下文绑定到您的线程。LWJGL网站上也有一个工作示例。

  • 本文向大家介绍Python多线程下载文件的方法,包括了Python多线程下载文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python多线程下载文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 从本节召回 我什么时候做一个 Session ,什么时候提交,什么时候关闭? 介绍了“会话范围”的概念,重点介绍了Web应用程序和链接 Session 一个Web请求。大多数现代Web框架都包含集成工具,因此 Session 可以自动管理,这些工具应该在可用时使用。 sqlAlchemy包含自己的helper对象,这有助于建立用户定义的 Session 范围。第三方集成系统也使用它来帮助构建其集成

  • 我正在的上的上运行应用程序。对于那些不熟悉的人,每当发生SQS事件时,Amazon都会自动向我的Worker应用程序执行请求。我的应用程序然后处理请求并返回200(除非明显出错)。 我想在处理单个请求时使用并发。例如,假设我需要执行10种不同的昂贵计算。我希望使用让10个线程同时执行这项工作,而不是串行执行。 这是坏习惯吗?如果没有,以这种方式启动新线程是否存在性能危险 线程的分配实际上是如何工作

  • 本文向大家介绍Linux下的多线程编程(三),包括了Linux下的多线程编程(三)的使用技巧和注意事项,需要的朋友参考一下    下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。 或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。 下面是我们的代码: 下面我们先来编译、执行一下 引文: 实例代码里头的注释应该比较清楚了吧,下面我把网路上介绍上面涉及到的几个函