Java期末作業3

我們先做個簡單的輸出
下面是我期望的結果:

--------------------------------------------

[ 0]    W0      20
[ 1]    W2       7
[ 2]    W2      13
[ 3]    W2      14
[ 4]    W2       7
[ 5]    W2      15
[ 6]    W2       1
[ 7]    W2      14
[ 8]    W2      18
[ 9]    W2      12
[10]   W2       2

--------------------------------------------

[ ]內是目前執行的次數
中間是執行緒的名稱
右邊是產生的數字

所以


輸出在畫面上之後
我們要把數字存入陣列
然後將計數器+1


執行緒都執行完後,我們暫時把陣列的值全部印出來做確認




然後試著執行一下,你會發現怪怪的......


原因在於我們將4個執行緒start之後
main會繼續執行後面的程式碼
也就是說
W0,W1,W2,W3 還有main是同時在跑的

如果希望等到W0,W1,W2,W3都跑完再讓main繼續執行的話
必須加上join


再試著執行一次


上下確認一下,確定成功把數字寫入陣列後
就可以把輸出陣列數字那一段砍掉了
(join的部分先留著)

留言