java线程在什么时候结束,java – 什么时候线程超出范围?
我編寫了一個程序,可以在文本中計算行,字和字符:它使用線程執行此操作.它有時候很好,但是其他時候不是很好.最終發生的事情是指向字數和變數的變量有時候會變短,有時候不會.
在我看來,線程有時會結束,然后才能對所有想要的單詞或字符進行計數.是因為當while(true)循環中斷時,這些線程超出范圍?
我已經從我的問題的一部分中包含了代碼:
private void countText() {
try {
reader = new BufferedReader(new FileReader("this.txt"));
while (true) {
final String line = reader.readLine();
if(line == null) {break;}
lines++;
new Thread(new Runnable() {public void run() {chars += characterCounter(line);}}).start();
new Thread(new Runnable() {public void run() {words += wordCounter(line);}}).start();
println(line);
}
} catch(IOException ex) {return;}
}
(子問題:這是我第一次詢問某些東西和發布的代碼,我不想使用StackOverflow代替谷歌和維基百科,我擔心這不是一個適當的問題,我試圖使問題更一般,所以我不只是要求幫助我的代碼…但是,另一個網站,這種問題可能更適合?)
總結
以上是生活随笔為你收集整理的java线程在什么时候结束,java – 什么时候线程超出范围?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php判断数组是否存在字符串中,php判
- 下一篇: oracle参数文件initorcl位置