创建线程的另一种方法是声明实现 Runnable
接口的类。该类实现 run
方法。然后可以分配该类的实例,在创建 Thread
时作为一个参数来传递并启动
先创建一个Programmer类继承Runnable,重写Run方法
/*
* 使用Runnable创建线程
* 1.类实现Runnable接口+重写run() --->真实角色类
* 2.启动多线程 使用静态代理
* 1)创建真实角色
* 2)创建代理角色+真实角色引用
* 3)调用start()方法启动线程
*/
public class Programmer implements Runnable{
@Override
public void run() {
for (int i=0;i<1000;i++){
System.out.println("一边敲代码。。。");
}
}
}
然后下列代码会创建并启动一个线程
public class ProgrammerApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建真实角色
Programmer pro = new Programmer();
// 创建代理角色+真实角色引用
Thread proxy = new Thread(pro);
// 调用start()方法启动线程
proxy.start();
//创建另一个线程进行测试
for (int i=0;i<1000;i++){
System.out.println("一边上网。。。");
}
}
}
运行时,“一边敲代码。。”和”一边上网。。“两个线程同时进行
推荐使用Runnable:避免单继承的局限性,便于共享资源