Java IllgalThreadStateException
我正在编写一个多线程程序,在该程序中,我得到了异常Java IllgalThreadStateException,java,multithreading,Java,Multithreading,我正在编写一个多线程程序,在该程序中,我得到了异常java.lang.IllegalThreadStateException 欢迎任何帮助 这是我的堆栈跟踪 Exception in thread "main" java.lang.IllegalThreadStateException at java.lang.Thread.start(Unknown Source) at GeoMain.main(GeoMain.java:18) 这是我的主类代码 public class TMai
java.lang.IllegalThreadStateException
欢迎任何帮助
这是我的堆栈跟踪
Exception in thread "main" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Unknown Source)
at GeoMain.main(GeoMain.java:18)
这是我的主类代码
public class TMain {
public static void main(String[] args) {
String Batchid="1,2,3";
String batch[]=StringUtils.split(Batchid,",");
MultiThread gt=new MultiThread();
for(int i=0;i<batch.length;i++){
gt.setBatch(batch[i]);
gt.start();
System.out.println("Thread started for "+batch[i]);
}
System.out.println("mainfinish");
}
}
公共类TMain{
公共静态void main(字符串[]args){
字符串Batchid=“1,2,3”;
字符串批处理[]=StringUtils.split(Batchid,“,”);
多线程gt=新的多线程();
对于(int i=0;i,在此代码段中:
MultiThread gt=new MultiThread();
for(int i=0;i<batch.length;i++){
gt.setBatch(batch[i]);
gt.start(); <--- Same thread object as in previous iteration
System.out.println("Thread started for "+batch[i]);
}
同一线程不能启动两次。如果要创建多个线程,请将线程实例的创建移动到循环中:
for(int i=0;i<batch.length;i++){
MultiThread gt=new MultiThread();
gt.setBatch(batch[i]);
gt.start();
System.out.println("Thread started for "+batch[i]);
}
for(int i=0;i您尝试多次启动同一(多)线程实例。在循环中创建一个新的多线程实例,使每个线程都有自己的实例
----------.
for(int i=0;i<batch.length;i++){ |
|
MultiThread gt=new MultiThread(); <--'
gt.setBatch(batch[i]);
gt.start();
System.out.println("Thread started for "+batch[i]);
}
for(int i=0;i<batch.length;i++){
MultiThread gt=new MultiThread();
gt.setBatch(batch[i]);
gt.start();
System.out.println("Thread started for "+batch[i]);
}