Java启动多线程的两种方式:
一是实现Runnable接口
二是继承Thread类,重写run()方法。

package com.kunpengku;

public class Welcome

public static void main(String[] args) throws Exception
{
//多线程方式一
Runnable r = new Ppp();
Thread t = new Thread(r);
t.start();

//多线程方式二
Q q = new Q();
q.start();

}

}

class Ppp implements Runnable{
public void run(){
try{
for (int i=0;i<10;i++){
System.out.println(Thread.currentThread()+String.valueOf(i));
Thread.sleep(1000);
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
}

class Q extends Thread{

public void run(){
try{
for (int i=0;i<10;i++){
System.out.println(Thread.currentThread());
Thread.sleep(1000);
}
}catch(InterruptedException e){
e.printStackTrace();
}

}
}