标签: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