JAVA有两种线程的方法Thread 和Runnable 能够使用,这是为了弥补不能多继承的缺陷
首先是 Thread
package com.sunzhiyan03;
/*
 * 演示线程
 * */
public class Demo1 {
	public Demo1() {
		// TODO Auto-generated constructor stub
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Cat cat1 = new Cat();
		//启动线程,导致run函数的调用
		cat1.start();
	}
}
//继承线程
class Cat extends Thread{
	//重写run 函数
	int times = 0;
	public void run(){
		while(true){
			//休眠一秒
			//blocked状态,释放资源
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			times ++;
			System.out.println("hello , world");
			//跳出循环
			if(times == 10){
				break;
			}
		}		
	}
	
}
然后是Runnable
package com.sunzhiyan03;
public class Demo2 {
	public Demo2() {
		// TODO Auto-generated constructor stub
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Dog dog = new Dog();
		//dog.run();
		//借助Thread 的start方法进行启动
		Thread t = new Thread(dog);
		t.start();
	}
}
class Dog implements Runnable{
	int times = 0;
	public void run(){
		while(true){
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("hello,world"+times);
			times ++;
			if(times == 10){
				break;
			}
		}
	}
	
}
Java SE (5)之 线程使用,布布扣,bubuko.com
原文:http://www.cnblogs.com/sunxun/p/3841284.html