📅  最后修改于: 2023-12-03 14:47:58.324000             🧑  作者: Mango
在Java中,Thread是一个重要的多线程类,而run()方法是Thread类的重要方法之一。Thread类提供了两个run()方法的重载,分别为无参和有参方法,接下来将对这两种方法进行详细介绍。
Thread类中的无参run()方法是线程的核心代码块,当线程启动时,run()方法会自动执行。无参run()方法没有参数,它只是在子线程中被调用。
run()方法的语法如下所示:
public void run();
无参run()方法通常被重写以实现线程的具体功能。当一个线程被启动后,会自动调用run()方法,
下面是一个示例程序:
public class MyThread extends Thread {
public void run() {
System.out.println("Thread is running.");
}
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
}
}
在上述代码中,我们创建了一个继承自Thread的子类MyThread,并在该子类中重写了run()方法。在main()方法中,我们创建了一个MyThread的实例,并调用它的start()方法来启动该线程。在线程启动后,run()方法会被自动调用,输出“Thread is running.”。
Thread类中的有参run()方法与无参run()方法不同,它需要一个Runnable对象作为参数。这个Runnable对象中包含了线程的核心代码块。
run()方法的语法如下所示:
public void run(Runnable target);
以下是一个示例程序:
public class MyThread implements Runnable {
public void run() {
System.out.println("Thread is running.");
}
public static void main(String[] args) {
MyThread mt = new MyThread();
Thread t = new Thread(mt);
t.start();
}
}
在上述代码中,我们创建了一个实现了Runnable接口的类MyThread,并在这个类中重写了run()方法。在main()方法中,我们创建了一个MyThread的实例mt,并将它传入Thread类的构造方法中,创建了一个新的线程t。在线程启动后,run()方法会被自动调用,输出“Thread is running.”。
Thread类的无参run()方法和有参run()方法,都实现了线程的核心代码块。无参run()方法只需重写,而有参run()方法需要另外一个实现了Runnable接口的类作为参数。在编写多线程程序时,灵活掌握这两种run()方法,可以更好地实现多线程的功能。