搜索热点


Java第八课

何轩伟 2023-11-13 76 11/13

实现多线程的两种方法:

  1. 自己编写一个类,继承Thread类

在Thread类中构造方法

public Arithmetic(String name) {

super(name);

}

通过调用Thread类中的setName()方法,可以为线程设置一个唯一的名称,方便在多线程环境下进行识别和调试。此方法继承自Thread类的父类Object类,因此可以在任何继承自Object类的类中使用。需要注意的是,线程名称应该具有描述性,并且不应该与其他线程的名称相同,以避免混淆。

相关实例代码Arithmetic.java

public class Arithmetic extends Thread{

public Arithmetic(String name) {

super(name);

}

 

public void run(){

for(int i=1;i<=10;i++){

System.out.println(Thread.currentThread().getId()+","+ currentThread().getName()+":"+ i);

}

 

}

}

 

 

class Test{

public static void main(String[] args) {

Arithmetic thread1=new Arithmetic("run线程");

thread1.start();//就会启动一个独立的线程,并且在该线程内执行run()方法

 

for(int j=-1;j>=-10;j--){

System.out.println(Thread.currentThread().getId()+","+ thread1.getName()+":"+j);

}

}

}

实例中的第17行为线程指定名称。

使用构造方法可以在创建线程时指定线程名称,例如:

Thread myThread = new Thread("myThread");

myThread.start();

需要注意的是,主线程的线程名为main无法修改。

2.自己编写一个类,实现Runnable接口

除了继承Thread类,还可以通过实现Runnable接口来实现多线程。实现Runnable接口需要实现run()方法,而Thread类本身就已经实现了run()方法。因此,实现Runnable接口更加灵活,可以避免单继承的限制。要注意的run()方法是没有返回值的

在Java中,如果一个方法没有返回值,那么它的返回类型应该是void。在run()方法中,它是一个没有参数和返回值的抽象方法,这意味着它只是执行一些操作而不返回任何值。因此,在实现Runnable接口时,我们需要在run()方法中编写需要执行的代码,但是我们不能期望从run()方法中获得任何返回值。所以,如果你需要从多线程中获取某些数据或状态,你需要使用其他的机制来实现。

- THE END -
Tag:
最后修改:2023年11月13日
0

非特殊说明,本博所有文章均为博主原创。