在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方法:用来开启新线程