您的位置:首页 > 编程语言 > Java开发

学习笔记之JavaSE(23)--多线程3

2016-11-16 12:10 363 查看
今天学习的内容是通过实现Runnable接口创建线程

之前说过使用继承Thread类的方法创建线程,但是这种方法有弊端。下面介绍第二种创建线程的方法:定义一个实现Runnable接口的类(假设为MyRunnable类),并实现其中的run()方法,然后创建MyRunnable类的实例并将其作为Thread类的构造函数的参数,创建Thread对象,线程的任务也是定义在run()方法里面的,线程会自动执行MyRunnable实例的run()方法。

通过实现Runnable接口创建线程是常用方法,它的好处是:

将线程的任务从线程的子类中分离出来,进行了单独的封装,降低程序耦合性

避免了Java单继承的局限性
示例程序:
public class Test38 {

public static void main(String[] args){
Thread t1 = new Thread(new MyRunnable());
Thread t2 = new Thread(new Runnable(){
//线程的任务(匿名内部类)
public void run(){
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+":i="+i);
}
}
});
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();

//主线程的任务
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+":i="+i);
}
}
}

class MyRunnable implements Runnable{
public void run(){
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+":i="+i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: