多线程求助

r_x_y r_x_y 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚才发的怎么404了???

大家好:

我在编写一个使用多线程的程序。

介绍一下功能:
//有一个工作类:MailClient.java
public MailClient implements Runnable {

private void getNewMails()
{
//里面是一些简单的逻辑。
}

public void run() {
getNewMails();
}
}

接下来创建线程池来调用工作类
方法一:使用ExecutorService
简单些一下main
main(){
ExecutorService executorService = Executors.newCachedThreadPool();

executorService.execute(new MailClient());
}
结果:main函数结束,整个就结束。
然后方法一改进如下:增加
executorService.shutdown();
while (!executorService.isTerminated()) {}

结果:仍无法获得运行结果。


方法二:
自己编译一个线程池,针对每个线程判断一下状态:
while (mailT.isAlive()) {
}
能得到预期结果。

求助,怎么使用JDK提供的线程池,让所有线程池中所有线程结束后再停止?????
...全文
评论 9
收藏 已收藏
分享
返回顶部
r_x_y
Java SE 62,620 成员 307,251 内容