标签:java多线程
1、多线程概述
当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。主要以下几个优点:
? 定义Thread的子类,并重写run方法
? 创建Thread子类的实例,即创建了线程对象
? 用线程对象的start方法来启动该线程
public class DemoThread extends Thread
{
private int i;
String name;
public DemoThread(String name)
{
super(name);
}
public void run()
{
for(;i<100;i++)
System.out.println(Thread.currentThread().getName()+"-------"+i);
}
public static void main(String[] args)
{
for(int i=0;i<100;i++)
{
System.out.println(Thread.currentThread().getName()+"-----------"+i);
if(i==20)
{
new DemoThread("windows1").start();
new DemoThread("windows2").start();
}
}
}
}
? 定义Runnable接口的实现类,并重写该接口的run方法(该方法是该线程的线程执行体)
? 创建Runnable实现类的实例,并以此实例作为Thread的target来创建Tread对象
public class DemoThread implements Runnable
{
private int i;
public void run()
{
for(;i<100;i++)
System.out.println(Thread.currentThread().getName()+"-------"+i);
}
public static void main(String[] args)
{
for(int i=0;i<100;i++)
{
System.out.println(Thread.currentThread().getName()+"-----------"+i);
if(i==20)
{
DemoThread t=new DemoThread();
new Thread(t,"Windows1").start();
new Thread(t,"Windows2").start();
}
}
}
}
两种方法比较:
标签:java多线程
原文地址:http://blog.csdn.net/xujian_2014/article/details/45061893