Java SE (5)之 线程使用

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;
			}
		}
	}
	
}

  

原文地址:https://www.cnblogs.com/sunxun/p/3841284.html