Java Web服务线程创建
如何在Web服务中创建新线程?我需要线程在web服务的“main”上启动,而不是在服务器调用中启动 我需要它作为工作线程,所以服务器调用将发送消息到线程-工作将在BG中完成,不会阻止服务器请求Java Web服务线程创建,java,multithreading,web-services,Java,Multithreading,Web Services,如何在Web服务中创建新线程?我需要线程在web服务的“main”上启动,而不是在服务器调用中启动 我需要它作为工作线程,所以服务器调用将发送消息到线程-工作将在BG中完成,不会阻止服务器请求 我不知道怎么做您需要创建一个线程池,您可以将任务提交到该线程池的线程上执行 创建线程池的最简单方法是使用类创建的线程池。您可以尝试在主类中使用静态初始化器 在这里,我使用它来创建一个计时器任务,它每小时都会重新读取我的属性文件,但您几乎可以将它们用于任何事情,包括创建新线程 static { // R
我不知道怎么做您需要创建一个
线程池
,您可以将任务提交到该线程池的线程上执行
创建线程池的最简单方法是使用类创建的线程池。您可以尝试在主类中使用静态初始化器 在这里,我使用它来创建一个计时器任务,它每小时都会重新读取我的属性文件,但您几乎可以将它们用于任何事情,包括创建新线程
static {
// Read my properties at start-up.
readProperties ();
// Start a new timer task to repeat every hour.
int rate = Debug? 60*1000 : 1*60*60*1000;
// Make a daemon scheduled thread to re-read properties.
new Timer("Read properties timer", true).schedule( new TimerTask(){
public void run() {
readProperties();
}
}, rate, rate);
}
这个问题并不清楚,但如果作者没有创建自己的实现并使用第三方ws-stack,那么我们这里就有问题了:大多数实现已经使用线程池,并且池中的每个线程都被不断重用。在那种情况下,我会考虑启动新线程作为一个坏的实践。