Java使用Thread創(chuàng)建多線程并啟動(dòng)操作示例
本文實(shí)例講述了Java使用Thread創(chuàng)建多線程并啟動(dòng)操作。分享給大家供大家參考,具體如下:
按照教程實(shí)現(xiàn)了一個(gè)單線程的創(chuàng)建,但是單線程的創(chuàng)建于啟動(dòng)并不是很有實(shí)用價(jià)值的。畢竟直接在main方法中放著相關(guān)的執(zhí)行操作本身也就是一種單線程的實(shí)現(xiàn)。接下來(lái)在之前用過(guò)的代碼基礎(chǔ)上稍作修改,形成如下代碼:
class ThreadDemo extends Thread
{
ThreadDemo(){};
ThreadDemo(String szName)
{
super(szName);
}
public void run()
{
int i = 0;
for(i = 0;i < 10;i++)
{
System.out.println("run" + (i + 1) + " times");
}
}
public static void main(String[] args)
{
ThreadDemo demo1 = new ThreadDemo();
ThreadDemo demo2 = new ThreadDemo();
ThreadDemo demo3 = new ThreadDemo();
demo1.start();
demo2.start();
demo3.start();
}
}
代碼編譯運(yùn)行結(jié)果如下;
E:\WorkSpace\02_技術(shù)實(shí)踐\01_編程語(yǔ)言\05_Java\02_Java從入門(mén)到精通\thread_demo>javac ThreadDemo.java
E:\WorkSpace\02_技術(shù)實(shí)踐\01_編程語(yǔ)言\05_Java\02_Java從入門(mén)到精通\thread_demo>java ThreadDemo
run 1 times
run 2 times
run 3 times
run 4 times
run 5 times
run 6 times
run 7 times
run 1 times
run 2 times
run 1 times
run 3 times
run 8 times
run 4 times
run 2 times
run 5 times
run 9 times
run 6 times
run 7 times
run 8 times
run 3 times
run 9 times
run 10 times
run 10 times
run 4 times
run 5 times
run 6 times
run 7 times
run 8 times
run 9 times
run 10 times
從上面的結(jié)果中實(shí)際上看到了一定的亂序,看起來(lái)三個(gè)任務(wù)的執(zhí)行順序不是按順序來(lái)的。其實(shí),這正是創(chuàng)建出來(lái)的三個(gè)線程出現(xiàn)了執(zhí)行上的競(jìng)爭(zhēng)而造成的結(jié)果。
之前我寫(xiě)程序的時(shí)候確實(shí)是感覺(jué)傻了一點(diǎn),雖說(shuō)這么久以來(lái)也好歹完成了任務(wù),但是我之前所實(shí)現(xiàn)的都是單線程的工作。一個(gè)任務(wù)從頭到尾一路執(zhí)行下來(lái),好在現(xiàn)在的電腦的執(zhí)行速度都還不壞,否則我這中間可得出現(xiàn)多少執(zhí)行時(shí)間上的浪費(fèi)啊!
雖說(shuō)現(xiàn)在是在學(xué)Java,后期的Python等支持多線程的語(yǔ)言中盡量也該把這個(gè)功能利用起來(lái)。盡可能的挖掘一下CPU的潛力還是一件很有意思的事情的。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java進(jìn)程與線程操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解Spring boot使用Redis集群替換mybatis二級(jí)緩存
本篇文章主要介紹了詳解Spring boot使用Redis集群替換mybatis二級(jí)緩存,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
springcloud使用Hystrix進(jìn)行微服務(wù)降級(jí)管理
這篇文章主要介紹了springcloud使用Hystrix進(jìn)行微服務(wù)降級(jí)管理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
SpringBoot整合Mybatis注解開(kāi)發(fā)的實(shí)現(xiàn)代碼
這篇文章主要介紹了SpringBoot整合Mybatis注解開(kāi)發(fā)的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
java數(shù)學(xué)類(lèi)Math?BigInteger?BigDecimal使用介紹
這篇文章主要為大家介紹了java數(shù)學(xué)類(lèi)Math、BigInteger、BigDecimal的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Java從零編寫(xiě)汽車(chē)租賃系統(tǒng)全程分析
這篇文章介紹了Java實(shí)現(xiàn)汽車(chē)租賃系統(tǒng)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
Idea如何導(dǎo)入一個(gè)SpringBoot項(xiàng)目的方法(圖文教程)
這篇文章主要介紹了Idea如何導(dǎo)入一個(gè)SpringBoot項(xiàng)目的方法(圖文教程),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java實(shí)現(xiàn)PDF轉(zhuǎn)HTML/Word/Excel/PPT/PNG的示例代碼
這篇文章主要為大家介紹了如何利用Java語(yǔ)言是PDF轉(zhuǎn)HTML、Word、Excel、PPT和PNG功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-05-05

