java基础之多线程实现(二)

目录

一:多线程的实现方式2

二:例子


一:多线程的实现方式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();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_50691399/article/details/121151189