Java使用Thread創(chuàng)建多線程并啟動操作示例
本文實例講述了Java使用Thread創(chuàng)建多線程并啟動操作。分享給大家供大家參考,具體如下:
按照教程實現(xiàn)了一個單線程的創(chuàng)建,但是單線程的創(chuàng)建于啟動并不是很有實用價值的。畢竟直接在main方法中放著相關的執(zhí)行操作本身也就是一種單線程的實現(xiàn)。接下來在之前用過的代碼基礎上稍作修改,形成如下代碼:
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();
}
}
代碼編譯運行結果如下;
E:\WorkSpace\02_技術實踐\01_編程語言\05_Java\02_Java從入門到精通\thread_demo>javac ThreadDemo.java
E:\WorkSpace\02_技術實踐\01_編程語言\05_Java\02_Java從入門到精通\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
從上面的結果中實際上看到了一定的亂序,看起來三個任務的執(zhí)行順序不是按順序來的。其實,這正是創(chuàng)建出來的三個線程出現(xiàn)了執(zhí)行上的競爭而造成的結果。
之前我寫程序的時候確實是感覺傻了一點,雖說這么久以來也好歹完成了任務,但是我之前所實現(xiàn)的都是單線程的工作。一個任務從頭到尾一路執(zhí)行下來,好在現(xiàn)在的電腦的執(zhí)行速度都還不壞,否則我這中間可得出現(xiàn)多少執(zhí)行時間上的浪費??!
雖說現(xiàn)在是在學Java,后期的Python等支持多線程的語言中盡量也該把這個功能利用起來。盡可能的挖掘一下CPU的潛力還是一件很有意思的事情的。
更多java相關內容感興趣的讀者可查看本站專題:《Java進程與線程操作技巧總結》、《Java數據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
詳解Spring boot使用Redis集群替換mybatis二級緩存
本篇文章主要介紹了詳解Spring boot使用Redis集群替換mybatis二級緩存,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
SpringBoot整合Mybatis注解開發(fā)的實現(xiàn)代碼
這篇文章主要介紹了SpringBoot整合Mybatis注解開發(fā)的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
java數學類Math?BigInteger?BigDecimal使用介紹
這篇文章主要為大家介紹了java數學類Math、BigInteger、BigDecimal的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
Idea如何導入一個SpringBoot項目的方法(圖文教程)
這篇文章主要介紹了Idea如何導入一個SpringBoot項目的方法(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
Java實現(xiàn)PDF轉HTML/Word/Excel/PPT/PNG的示例代碼
這篇文章主要為大家介紹了如何利用Java語言是PDF轉HTML、Word、Excel、PPT和PNG功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-05-05

