程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 線程池 程序順序-java多線程時程序運行完成為什麼不會自動關閉退出?(木有錢了,求指教)

java 線程池 程序順序-java多線程時程序運行完成為什麼不會自動關閉退出?(木有錢了,求指教)

編輯:編程綜合問答
java多線程時程序運行完成為什麼不會自動關閉退出?(木有錢了,求指教)

粘貼的大致代碼如下:

public static void main(String[] args) {
int thread=0;
ExecutorService pool = Executors.newFixedThreadPool(15);// 創建一個線程池
for (int i =666; i <= 888; i++) {
for (int j = 0; j < 19; j++) {
MyClass t =new MyClass(i,j);//某個繼承了runnable的類,細節不重要
pool.execute(t);
}
}//外層for
thread++;
if(thread>=15){ //15個線程都運行結束了
pool.shutdown();
try {
if (!pool.awaitTermination(60, TimeUnit.SECONDS)){
pool.shutdownNow();
}
} catch (InterruptedException e) {
pool.shutdownNow();
Thread.currentThread().interrupt();
}
System.exit(0);
}
//每次運行時,等到功能完成了(如寫入文件或打印),程序確實停止工作了,但就是不退出,即eclipse控制台紅點沒變灰,要手動結束才行。是代碼的邏輯問題嗎?

最佳回答:


沒看懂,thread++;
if(thread>=15){ //15個線程都運行結束了

這怎麼累加到15

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved