Java多线程Thread和Runnable接口

在Java语言中使用多线程,可以使用两种方法:

(1)继承Thread类
实现步骤:

1.定义一个Thread类的子类
2.重写Thread类中的run方法,设置线程任务
3.创建Thread类的子类对象
4.调用start方法,开启新线程,执行run方法

代码:

> public class MyThread extends Thread {
> 	  		 @Override
> 	   	public void run (){
> 	       System.out.println(Thread.currentThread().getName());
> 	   } 
> 	}

实现:

MyThread mt=new MyThread();
mt.start();
或者
new MyThread().start();

获取线程的名称:

1.使用Thread类中的方法getName()

String getNmae()返回线程的名称。

2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程名称

static Thread currentThread()返回对当前正在执行的线程对象的引用。

(2)Runnable接口
实现步骤:

1.创建一个Runnable接口实现类

2.在实现类中重写Runnable接口的run方法,设置线程任务

3.创建一个Runnable接口的实现类对象

4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象

5.调用Thread类中的start方法,开启新的线程执行run方法

代码:

public class Runnableimpl implements Runnable {
    @Override
    public void run() {
        System.out.println("===========");
        System.out.println(Thread.currentThread().getName());
    }
}

实现:

Runnableimpl run=new Runnableimpl();
Thread t=new Thread(run);
t.start();

实现Runnable接口创建多线程程序的好处:

1.避免了单继承的局限性

    一个类只能继承一个类,类继承了Thread类就不能继承其他的类
	
     实现了Runnable接口,还可以继承其他的类,实现其他的接口

2.增强了程序的扩展性,降低了程序的耦合性(解耦)

    实现Runnable接口的方式。把设置线程任务和开启新的线程进行了分离(解耦)

    实现类中,重写了run方法:用来设置线程任务

    创建Thread类对象,调用start方法:用来开启新线程

猜你喜欢

转载自blog.csdn.net/qq_36044576/article/details/106981214