如何同时执行三个线程?

时间:2014-12-11 10:49:01

标签: java multithreading

这是我尝试的代码,但我的主要课程不在那里因为我不知道如何使用那个

//first thread

class firstthread extends Thread
{
   public void run(){
     for(int i=0;i<1000;i++)
     {
          System.out.println(i);
     }}
}

//second thread

class secondthread extends Thread
{
   public void run(){
     for(int i=0;i<1000;i++)
     {
          System.out.println(i);
     }}
}

5 个答案:

答案 0 :(得分:1)

无论你写的是什么都是不完整的代码,要创建一个线程,你需要扩展Thread类或实现Runnable接口,然后覆盖它的public void run()方法。

要创建线程,您需要覆盖方法public void run

然后启动线程,你需要调用它的start()方法。

一个简单的完整示例

class MyThread extends Thread {
   String name;
   public void run(){
      for(int i=0;i<1000;i++) {
         System.out.println("Thread name :: "+name+" : "i);
     }
   }
}
class Main{
    public static void main(String args[]){
        MyThread t1 = new MyThread();
        t1.name = "Thread ONE";
        MyThread t2 = new MyThread();
        t2.name = "Thread TWO";
        MyThread t3 = new MyThread();
        t3.name = "Thread THREE";
        t1.start();
        t2.start();
        t3.start();
    }
}

答案 1 :(得分:1)

首先覆盖run方法,然后在main()中创建线程类的对象 并调用start方法。

答案 2 :(得分:1)

public static void main(String[] args) {
    for (int i = 0; i < 3; i++) {
        new Thread() {
            public void run() {
                for(int y=0;y<1000;y++)
                 {
                      System.out.println(y);
                 }
            };
        }.start();
    }
}

答案 3 :(得分:0)

你不能只在你的班级体内放一些代码。

您需要一个方法来获取代码,如果是线程,方法为run()

不是复制粘贴代码,而是指向official documentation,您可以在其中找到一些示例。

答案 4 :(得分:0)

以下给出的示例程序。由于没有同步代码,因此从三个线程混合输出

public class ThreadTest implements Runnable{

@Override
public void run() {
    System.out.print(Thread.currentThread().getId() + ": ");
    for(int i=0;i<100;i++)
        System.out.print(i + ", ");
    System.out.println();

}
public static void main(String[] args) {
    for(int i=0;i<3;i++){
        new Thread(new ThreadTest()).start();
    }
}
}