java - 在循环中启动一个线程

标签 java multithreading exception loops

我想知道如何在循环中第一次启动线程:

示例:

while(something)
{

 /*
 ...
 Some codes
 ...
 */

   thread.start();
}

问题是我收到此错误:

java.lang.IllegalThreadStateException: Thread already started.

..因为它每次在循环中都会重新启动线程...

如何在循环中只启动线程1次?

最佳答案

设置一个 boolean 值来告诉您该值何时设置,以便设置一次。我不知道为什么你不能将其设置在循环之外,但如果我理解正确的话,这样的东西应该可以工作。

boolean started = false;

while(something){
    if(!started){
        thread.start();
        started = true;
    }
}

关于java - 在循环中启动一个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16765092/

相关文章:

java - OpenGL 帧缓冲区渲染到纹理不工作

java - 使用 Appium 和 Selenium WebDriver 在不重置其状态的情况下测试 Android 应用程序

multithreading - 捕获异步 bash 命令的输出?

java - 当用户按 'q' 然后按 'ENTER' 时程序运行时退出

java - 在java中从csv中读取带逗号的值

java - 将约定插件与 struts.xml 一起使用

multithreading - 对Java中的安全发布和可见性(尤其是不可变对象(immutable对象))感到困惑

c++ - 原子线程计数器

java - 使用java代码将多行异常转为单行

python - selenium.common.exceptions.InvalidSelectorException 与 "span:contains(' 字符串')”