如果我们直接调用Java中的run()方法会发生什么?

2023年 9月 8日 67.1k 0

如果我们直接调用Java中的run()方法会发生什么?

直接调用 Thread 对象的 run() 方法不会启动单独的线程,并且可以在当前线程内执行。要从单独的线程中执行 Runnable.run,请执行以下操作之一

  • 使用 Runnable 构造一个线程> 对象并调用 Thread 上的 start() 方法。
  • 定义 Thread 对象的子类并覆盖其 run() 方法的定义。然后构造该子类的实例并直接调用该实例的 start() 方法。

示例

public class ThreadRunMethodTest {
public static void main(String args[]) {
MyThread runnable = new MyThread();
runnable.run(); // Call to run() method does not start a separate thread
System.out.println("Main Thread");
}
}
class MyThread extends Thread {
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Child Thread interrupted.");
}
System.out.println("Child Thread");
}
}

登录后复制

在上面的示例中,主线程 ThreadRunMethodTest 使用 run() 方法调用子线程 MyThread。这会导致子线程在主线程的其余部分执行之前运行完成,以便在“Main Thread”之前打印“Child Thread”。

输出

Child Thread
Main Thread

登录后复制

以上就是如果我们直接调用Java中的run()方法会发生什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论