看完这篇文章的童鞋,记得看线程中级,高级篇哦
创建多线程有俩种方法
1.继承Thread类(其实Thread也是实现了Runnable接口)
2.实现Runnable的接口,但是,实现Runnable接口,复写Runnable的run方法只是实现了线程体(这里是自己理解的吧,就是线程的运行部分,如果你这样直接运行不是多线程,只是在main线程中调用run方法罢了,也就是普通的函数调用,具体运行----往下看)
继承Thread类的实现方式
public class ThreadDemo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadDemo2 t=new ThreadDemo2();
t.start();
for(int i=0;i<60;i++){
System.out.println("main"+i);
}
}
}
class ThreadDemo2 extends Thread{
@Override
public void run(){
for(int i=0;i<=60;i++){
System.out.println("Demo..."+i);
}
}
}
实现
Runnable的接口的方式,通过new对象然后传入到
Thread a1=new Thread(t1)中,看下面代码可知,我们可以用同一个线程体开启多个线程
class ThreadDemoone implements Runnable{
private static int t=120;
Object obj=new Object();
@Override
public void run(){
while(true){
if(t>0){
System.out.println(Thread.currentThread().getName()+"--sale....:"+t--);
}
}
}
}
public class Thread2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
<span style="color:#ff0000;">ThreadDemoone t1=new ThreadDemoone();
Thread a1=new Thread(t1);
</span> <span style="color:#ff0000;">Thread a2=new Thread(t1);</span>
a1.start();
a2.start();
}
}