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