如何在网络服务中创建新线程?我需要线程从Web服务的“主要”开始,而不是在服务器调用。
我需要它作为工作线程,因此服务器调用将向线程发送消息 - 用于在BG中完成工作并且不会阻止服务器请求。
我不知道该怎么做
答案 0 :(得分:1)
您需要创建一个ThreadPool
,这是一个对象,您可以提交任务,然后在该线程池的线程上执行该任务。
制作ThreadPool的最简单方法是使用Executors类创建的方法。
答案 1 :(得分:1)
您可以尝试在主类中使用静态初始化程序。
这里我使用一个来创建一个计时器任务,它每小时重新读取我的属性文件,但你几乎可以使用它们,包括制作新的线程。
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);
}