向上_少年 2015-04-10 00:43 采纳率: 100%
浏览 7057
已采纳

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控制台红点没变灰,要手动结束才行。是代码的逻辑问题吗?

  • 写回答

3条回答 默认 最新

  • danielinbiti 2015-04-10 00:56
    关注

    没看懂,thread++;
    if(thread>=15){ //15个线程都运行结束了

    这怎么累加到15

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部