Java里面start和run的区别
导读:在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
