首页后端开发JAVAJava里面start和run的区别

Java里面start和run的区别

时间2023-11-30 02:51:03发布访客分类JAVA浏览935
导读:在Java编程中,我们总会用到线程相关的概念。而在线程的使用中,start和run两个方法都非常重要,但是它们之间有什么区别呢?public class ThreadTest extends Thread {@Overridepublic...

在Java编程中,我们总会用到线程相关的概念。而在线程的使用中,start和run两个方法都非常重要,但是它们之间有什么区别呢?

public class ThreadTest extends Thread {
@Overridepublic void run() {
    System.out.println("ThreadTest Running!");
}
public static void main(String[] args) {
    ThreadTest thread = new ThreadTest();
    thread.run();
    // thread.start();
}
}

在上面的代码中,ThreadTest类继承了Thread类,并重写了其run方法。在main方法中,我们创建了一个ThreadTest对象,并调用了其run方法。我们可以看到,输出的内容为"ThreadTest Running!"。

但是,如果我们将上面的代码中thread.run()语句改为thread.start(),那么程序输出的内容将会发生变化。

public class ThreadTest extends Thread {
@Overridepublic void run() {
    System.out.println("ThreadTest Running!");
}
public static void main(String[] args) {
    ThreadTest thread = new ThreadTest();
    // thread.run();
    thread.start();
}
}
    

在上面的代码中,我们将thread.run()改为了thread.start()。那么程序输出的内容将会是"ThreadTest Running!"加上一些其他内容。这是因为start方法会启动一个新的线程,而新的线程会在其自己的执行上下文中调用run方法。因此,我们会同时看到"ThreadTest Running!"和其他的输出内容。

综上可以看出,run方法只是普通的方法调用,而start方法才是真正启动线程的方法。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java里面start和run的区别
本文地址: https://pptw.com/jishu/561294.html
java里面的栈堆和方法区 php sql 时间比较大小

游客 回复需填写必要信息