【发布时间】:2026-01-07 21:00:02
【问题描述】:
我正在使用 javas Thread 通过 SMTP 连接到我们的邮件提供程序,因为这可能需要一些时间才能完成,我不希望请求等待。
但是看起来线程完成后并没有关闭。 我在 Eclipse 的调试模式下注意到了这一点:
每次我创建一个new Thread() 时,它都会添加一个正在运行的线程,但它并没有关闭它(至少我是这样认为的,因为eclipse 仍然显示Running)。
这是我的代码:
Thread mailThread = new Thread() {
public void run() {
System.out.println("Does it work?");
try {
Transport t = session.getTransport("smtp");
t.connect("user","pass");
t.sendMessage(message,message.getAllRecipients());
t.close();
System.out.println("SENT");
return;
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
}
};
mailThread.start();
这是否按预期工作?还是日食中的Running 有不同的含义?
【问题讨论】:
标签: java eclipse multithreading wildfly threadpool