国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java中thread線程start和run的區(qū)別

java中thread線程start和run的區(qū)別

2019-11-12 14:30java技術(shù)網(wǎng) JAVA教程

這篇文章主要介紹了java中thread線程start和run的區(qū)別,run()是Runnable接口中定義的一個(gè)方法,是為了讓客戶程序員在這個(gè)方法里寫自己的功能代碼的。直接調(diào)用和普通的類調(diào)用自己的成員方法是沒有任何區(qū)別的

最近看到一個(gè)題目,代碼如下:

 

復(fù)制代碼代碼如下:

public static void main(String args[]) {
Thread t = new Thread() {
public void run() {
pong();
}
}; 
t.run();
System.out.println("ping");
}
static void pong() {
System.out.println("pong");
}

 

問,結(jié)果會輸出什么?

我運(yùn)行了很多次,結(jié)果都是pong ping。后來終于發(fā)現(xiàn)了關(guān)鍵點(diǎn)所在,線程對象t,調(diào)用的不是start()方法,而是run()方法。后來我開斷點(diǎn)模式debug,發(fā)現(xiàn)調(diào)用run()方法,整個(gè)程序只有一個(gè)線程,而調(diào)用start()方法之后,程序就會多出一個(gè)線程。這時(shí)才有和主線程爭cpu,可能出現(xiàn)多種結(jié)果的情況,但由于下面輸出方法很快就被執(zhí)行了,所以基本上都是“ping pong”的輸出。

所以run()和start()的區(qū)別就是:
run()是Runnable接口中定義的一個(gè)方法,是為了讓客戶程序員在這個(gè)方法里寫自己的功能代碼的。直接調(diào)用和普通的類調(diào)用自己的成員方法是沒有任何區(qū)別的。
而start()則是線程開始運(yùn)行的標(biāo)志,當(dāng)這個(gè)方法被調(diào)用后,程序中才會多出一個(gè)獨(dú)立的線程,接著便是執(zhí)行run()方法。

所以我覺得,自己要寫單獨(dú)的線程,最好還是繼承Thread來做,如果是實(shí)現(xiàn)接口的話,到主線程里,還是要new Thread(new YourRunnableClass())來調(diào)用,感覺很不方便。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美不卡 | 日韩午夜电影 | 日韩影院在线 | 2018啪一啪 | 欧美福利电影在线观看 | 国产99久久 | 亚洲视频精品在线 | 婷婷色视频 | av一区在线 | 国产精品美女久久久久久久久久久 | 狠狠久 | 国产噜噜噜噜噜久久久久久久久 | 欧美日韩第一页 | 69久久| 午夜视频在线观看网站 | 中文字幕一区二区三区乱码图片 | 正在播放国产一区 | 欧美激情五月 | 亚洲一区二区在线播放 | 黄在线看 | 国产日韩欧美综合 | 国产一区二区三区 | 日韩成人av在线 | 久草成人网 | 久久精品2019中文字幕 | 久久成人免费视频 | 操网| 久久精品无码一区二区三区 | 亚洲欧美视频二区 | 极品美女销魂一区二区三区 | 一级免费视频 | 日韩激情 | 精品国产乱码久久久久久影片 | 在线观看日韩av | 干干人人 | 国产成人午夜精品5599 | 国产精品原创av片国产免费 | 日韩欧美在线观看视频 | 亚洲午夜激情 | 中文字幕在线观看视频一区 | 97色婷婷成人综合在线观看 |