本文實例講述了Java使用Thread創建多線程并啟動操作。分享給大家供大家參考,具體如下:
按照教程實現了一個單線程的創建,但是單線程的創建于啟動并不是很有實用價值的。畢竟直接在main方法中放著相關的執行操作本身也就是一種單線程的實現。接下來在之前用過的代碼基礎上稍作修改,形成如下代碼:
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
從上面的結果中實際上看到了一定的亂序,看起來三個任務的執行順序不是按順序來的。其實,這正是創建出來的三個線程出現了執行上的競爭而造成的結果。
之前我寫程序的時候確實是感覺傻了一點,雖說這么久以來也好歹完成了任務,但是我之前所實現的都是單線程的工作。一個任務從頭到尾一路執行下來,好在現在的電腦的執行速度都還不壞,否則我這中間可得出現多少執行時間上的浪費??!
雖說現在是在學Java,后期的Python等支持多線程的語言中盡量也該把這個功能利用起來。盡可能的挖掘一下CPU的潛力還是一件很有意思的事情的。
希望本文所述對大家java程序設計有所幫助。
新聞熱點
疑難解答
圖片精選