本文實(shí)例講述了java使用thread創(chuàng)建多線程并啟動操作。分享給大家供大家參考,具體如下:
按照教程實(shí)現(xiàn)了一個(gè)單線程的創(chuàng)建,但是單線程的創(chuàng)建于啟動并不是很有實(shí)用價(jià)值的。畢竟直接在main方法中放著相關(guān)的執(zhí)行操作本身也就是一種單線程的實(shí)現(xiàn)。接下來在之前用過的代碼基礎(chǔ)上稍作修改,形成如下代碼:
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(); } } |
代碼編譯運(yùn)行結(jié)果如下;
e:\workspace\02_技術(shù)實(shí)踐\01_編程語言\05_java\02_java從入門到精通\thread_demo>javac threaddemo.java
e:\workspace\02_技術(shù)實(shí)踐\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
從上面的結(jié)果中實(shí)際上看到了一定的亂序,看起來三個(gè)任務(wù)的執(zhí)行順序不是按順序來的。其實(shí),這正是創(chuàng)建出來的三個(gè)線程出現(xiàn)了執(zhí)行上的競爭而造成的結(jié)果。
之前我寫程序的時(shí)候確實(shí)是感覺傻了一點(diǎn),雖說這么久以來也好歹完成了任務(wù),但是我之前所實(shí)現(xiàn)的都是單線程的工作。一個(gè)任務(wù)從頭到尾一路執(zhí)行下來,好在現(xiàn)在的電腦的執(zhí)行速度都還不壞,否則我這中間可得出現(xiàn)多少執(zhí)行時(shí)間上的浪費(fèi)啊!
雖說現(xiàn)在是在學(xué)java,后期的python等支持多線程的語言中盡量也該把這個(gè)功能利用起來。盡可能的挖掘一下cpu的潛力還是一件很有意思的事情的。
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
原文鏈接:https://blog.csdn.net/grey_csdn/article/details/65486234