本文實例講述了java使用thread創建多線程并啟動操作。分享給大家供大家參考,具體如下:
按照教程實現了一個單線程的創建,但是單線程的創建于啟動并不是很有實用價值的。畢竟直接在main方法中放著相關的執行操作本身也就是一種單線程的實現。接下來在之前用過的代碼基礎上稍作修改,形成如下代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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程序設計有所幫助。
原文鏈接:https://blog.csdn.net/grey_csdn/article/details/65486234