會發生這種事是因為
我們並沒有等到R0,R1,R2,R3,R4都執行完
才做close的動作
我們沒有替R0,R1,R2,R3,R4寫join
所以當他們start之後
main後面的程式會繼續執行
而後面的程式是close
將FileWriter關閉
但R0,R1,R2,R3,R4都還在跑
還在執行writeIn函數,還有寫入檔案的動作
但FileWriter已經關閉了
於是就發生這個bug啦
所以我們要做的
就是用join
讓R0,R1,R2,R3,R4都執行完
再做close這個動作
我們在用於close的迴圈之前
加上一個迴圈來join
執行看看
到對應的路徑查看T0.txt,T1.txt,T2.txt
比對資料後,確認成功
接下來我們只剩下sum.txt了
在writeIn函數補上
執行看看
檢查sum.txt
成功
這樣,Java期末作業就做完啦~
我們並沒有等到R0,R1,R2,R3,R4都執行完
才做close的動作
我們沒有替R0,R1,R2,R3,R4寫join
所以當他們start之後
main後面的程式會繼續執行
而後面的程式是close
將FileWriter關閉
但R0,R1,R2,R3,R4都還在跑
還在執行writeIn函數,還有寫入檔案的動作
但FileWriter已經關閉了
於是就發生這個bug啦
所以我們要做的
就是用join
讓R0,R1,R2,R3,R4都執行完
再做close這個動作
我們在用於close的迴圈之前
加上一個迴圈來join
執行看看
到對應的路徑查看T0.txt,T1.txt,T2.txt
比對資料後,確認成功
接下來我們只剩下sum.txt了
在writeIn函數補上
執行看看
檢查sum.txt
成功
這樣,Java期末作業就做完啦~
留言
張貼留言