好的,直接上代码了啊!

第一种:实现Runnable的接口


package com.cxj.thread;

public class ThreadDemo implements Runnable{
	
private String name;
	
	public ThreadDemo(String name) {
		this.name = name;
	}

	public void run() {
		for (int i = 0; i < 4; i++) {
			System.out.println(name );
		}
	}
	
	public static void main(String[] args) { 
		new Thread(new ThreadDemo("A")).start();
		new Thread(new ThreadDemo("B")).start();
	}
}

第二种:集成Thread类

package com.cxj.thread;


public class RunnableDemo extends Thread {
	private String name;
	
	public RunnableDemo(String name) {
		this.name = name;
	}


	public void run() {
		for (int i = 0; i < 6; i++) {
			System.out.println(name );
		}
	}


	public static void main(String[] args) {
		new RunnableDemo("A").start();
		new RunnableDemo("B").start();
	}
}



区别:其实他们的区别是接口与类的区别,当然是用接口比较好了啊!

避免点继承的局限,一个类可以继承多个接口。