刚才发的怎么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提供的线程池,让所有线程池中所有线程结束后再停止?????
介绍一下功能:
//有一个工作类: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提供的线程池,让所有线程池中所有线程结束后再停止?????
解决方案 »
- java中Date小问题
- 求高手们帮忙,谢谢各位了!
- 关于向JTableHeader添加表头数据的问题
- 急,求教高手,如何设置JTable中一个单元格的属性?
- Menu中关于监听的问题
- java集合类的HashSet怎么用,谁说说
- 匿名内部类中定义的方法无法调用,来大神帮帮我
- linux平台:jdk编译时出显 can't read 错误,求救!
- 在java中用什么方法取得字符的ASCII值和Unicode值
- 为什么通过jTextField输入的汉字变成了一个字符?我用jTextField.getText().length()返回的结果就是这样!6个汉字的长度只有6!!!
- 一个消息客户端的问题
- 菜帖:书本错了,还是java更新版本了?"中国 abc".substring(1,3)
while(!isTerminated()){
}
while(executorService.isTerminated()) //注意:没有取非
{
}但是发帖时候我是按照正确的方式发的:<
刚才又调试了一下。
其实第一种方式是可以运行的。
while(!executorService.isTerminated())