欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java里面start和run的區(qū)別

在Java編程中,我們總會(huì)用到線程相關(guān)的概念。而在線程的使用中,start和run兩個(gè)方法都非常重要,但是它們之間有什么區(qū)別呢?

public class ThreadTest extends Thread {
@Override
public 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方法中,我們創(chuàng)建了一個(gè)ThreadTest對(duì)象,并調(diào)用了其run方法。我們可以看到,輸出的內(nèi)容為"ThreadTest Running!"。

但是,如果我們將上面的代碼中thread.run()語(yǔ)句改為thread.start(),那么程序輸出的內(nèi)容將會(huì)發(fā)生變化。

public class ThreadTest extends Thread {
@Override
public 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()。那么程序輸出的內(nèi)容將會(huì)是"ThreadTest Running!"加上一些其他內(nèi)容。這是因?yàn)閟tart方法會(huì)啟動(dòng)一個(gè)新的線程,而新的線程會(huì)在其自己的執(zhí)行上下文中調(diào)用run方法。因此,我們會(huì)同時(shí)看到"ThreadTest Running!"和其他的輸出內(nèi)容。

綜上可以看出,run方法只是普通的方法調(diào)用,而start方法才是真正啟動(dòng)線程的方法。