目录
一:多线程的实现方式2
实现Runnable接口
1、创建自定义类实现Runnable接口
2、重现run()方法
由于实现的Runnable接口中并没有getName()方法,所以这里无法使用Thread类中的getName()方法等方法
间接调用,因为currentThread()是静态的,可以直接通过类名调用
3:在main方法中将实现Runnable接口方法的对象传入Thread构造方法中
Thread(Runnable target)
分配一个新的 Thread对象。
Thread(Runnable target, String name)
分配一个新的 Thread对象,可以指定线程名
4:实现接口方式的好处
可以避免由于Java单继承带来的局限性。 适合多个相同程序的代码去处理同一个资源的情况,把线程同程序的代码,数据有效分离,较好的体现了面向对象的设计思想。
二:例子
package day32;
public class RunnableThread implements Runnable{//自定义类实现Runnable接口
@Override
//重新run方法
public void run() {
for(int i =0;i<10;i++){
System.out.println(Thread.currentThread().getName()+"**"+i);//输出线程名+i值
}
}
}
package day32;
public class Test3 {
public static void main(String[] args) {
RunnableThread runnableThread = new RunnableThread();//创建实现Runnable接口方法的对象
Thread thread1 = new Thread(runnableThread);//创建线程1
thread1.setName("线程1");//给线程1设置名字
Thread thread2 = new Thread(runnableThread, "线程2");//直接用Thread给线程2设置名字
//使线程处于就绪状态
thread1.start();
thread2.start();
}
}