相关疑难解决方法(0)

108
推荐指数
7
解决办法
9万
查看次数

Java - 运行两次线程

来自另一篇文章:

如果一个Thread需要多次运行,那么应该创建一个新的Thread实例并在其上调用start.

这是怎么做到的?

java multithreading

6
推荐指数
2
解决办法
8797
查看次数

Java - java线程调用可以多次启动吗?

伙计们,

我知道这个问题在此之前已被提出,但是间接地.但它没有回答我的怀疑.
问题:在同一个线程上调用start方法两次是否合法?

规格来看,

不止一次启动一个线程永远不合法.特别是,一旦完成执行,线程可能无法重新启动.

我同意.但是我的代码没有抛出一个IllegalThreadStateException预期会执行以下程序的东西.

   public class Tester extends Thread {
        public void run() {
            System.out.print("run");
        }
        public static void main(String[] args) {
            Tester thread = new Tester();
            new Thread(thread).start();
            new Thread(thread).start();
        }
    }    
Run Code Online (Sandbox Code Playgroud)

Q.1)我在Eclipse中运行了上面的代码.在这里,因为我试图在同一个实例上启动一个新线程,所以IllegalThreadStateException预计会抛出一个.但事实并非如此.

为什么?

Q.2) 如果我们确实在同一个实例上开始了一个新线程,那会有什么害处?

任何帮助将不胜感激 !

java multithreading

3
推荐指数
2
解决办法
8279
查看次数

可以调用java线程对象两次

public class GetCurrentPrice implements Runnable{
   public void run(){
      // some business logic
   }
}



public class Main{
   public static void main(){
       GetCurrentPrice gcp = new GetCurrentPrice();
       Thread t = new Thread(gcp);
       while(true){
           t.start();
           //once this thread execution is complete, restart this thread.
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

这会抛出java.lang.IllegalThreadStateException.我想要实现的是,运行此线程一次,等待它完成,一旦完成,再次运行此线程.

java

3
推荐指数
1
解决办法
158
查看次数

标签 统计

java ×3

multithreading ×3

android ×1

android-toast ×1