线程创建的方法(清晰简单):1.继承Thread类 2.实现Runnable接口 3.实现Calable接口

线程创建的方法:
方法一:继承Thread类
方法二:实现Runnable接口
方法三:实现Calable接口

分析:方法一和方法二,推荐使用方法二的接口,可以避免单继承的局限性,同时也便于资源共享。
其中,实现Calable接口,可以有返回值,可以抛出异常,其他两种方法则不可以,但是实现Calable接口相对麻烦一点。

下面就方法一和方法二进行简单代码展示:

//方法一: 继承Thread类
public class MyThread extends Thread{
	
	public MyThread(String name) { //构造器 为了设置线程的名字
		super(name);
	}

	@Override
	public void run() {
		for (int i = 1; i <=10; i++) {
			System.out.println(Thread.currentThread().getName()+": "+i);
		}
	}
	
	public static void main(String[] args) {
		MyThread mt1=new MyThread("我的线程1");  //如果无一个参数构造器,可直接mt.setName()
//		mt.setName("我的线程");
		mt1.start();
		
		MyThread mt2=new MyThread("我的线程2");  
//		mt.setName("我的线程2");
		mt2.start();	
	}

}



//方法二: 实现Runnable接口
public class MyThread02 implements Runnable{

	@Override
	public void run() {
		for (int i = 1; i <=10; i++) {
			System.out.println(Thread.currentThread().getName()+": "+i);
		}
	}
	
	public static void main(String[] args) {	
		//创建线程对象,把实现了Runnable接口的对象作为参数传入
		Thread t1=new Thread(new MyThread02());
		t1.setName("我的线程1");
		t1.start();
		
		Thread t2=new Thread(new MyThread02(),"我的线程2");
		t2.start();	
	
	}
                                                                                                                                                                                                      
}

你可能感兴趣的:(JAVASE,JAVA基础,多线程)