Java 不停地运行的线程

Java 不停地运行的线程,java,multithreading,concurrency,daemon,Java,Multithreading,Concurrency,Daemon,在java中是否可以创建一个始终在后台工作的线程?问题是应用程序实例有时会因OutOfMemoryException而崩溃。因此,多个实例并行启动。每个实例都做一些工作:应用户的请求,它将一些内容保存到数据库中。流应该持续工作,它会查看数据库并以某种方式处理来自数据库的信息 调度程序很可能无法工作,因为线程必须持续运行并等待信号开始工作。首先,我建议您调查并解决OutOfMemoryException,因为最好避免这些情况。您可以实例化等待请求的线程,执行请求,然后返回等待另一个请求。线程的实现

在java中是否可以创建一个始终在后台工作的线程?问题是应用程序实例有时会因OutOfMemoryException而崩溃。因此,多个实例并行启动。每个实例都做一些工作:应用户的请求,它将一些内容保存到数据库中。流应该持续工作,它会查看数据库并以某种方式处理来自数据库的信息


调度程序很可能无法工作,因为线程必须持续运行并等待信号开始工作。

首先,我建议您调查并解决OutOfMemoryException,因为最好避免这些情况。您可以实例化等待请求的线程,执行请求,然后返回等待另一个请求。线程的实现如下所示:

/**平方整数*/
公共类平方器{
私有最终阻塞队列;
私人最终封锁排队;
公共平方器(阻止队列请求,
阻止队列响应){
this.in=请求;
this.out=回复;
}
公开作废开始(){
新线程(newrunnable()){
公开募捐{
while(true){
试一试{
//阻止,直到请求到达
int x=in.take();
//计算答案并将其发回
int y=x*x;
输出(新的平方结果(x,y));
}捕获(中断异常ie){
即printStackTrace();
}
}
}
}).start();
}
}
对于调用方方法:

publicstaticvoidmain(字符串[]args){
BlockingQueue请求=新建LinkedBlockingQueue();
BlockingQueue repress=新建LinkedBlockingQueue();
Squarer Squarer=新的Squarer(请求、回复);
squarer.start();
试一试{
//提出请求
请求。付诸表决(42);
//…也许同时做点什么。。。
//阅读回复
System.out.println(repress.take());
}捕获(中断异常ie){
即printStackTrace();
}
}

要了解更多信息,您可以开始阅读我为您提供示例的帖子。

首先,我建议您调查并解决OutOfMemoryException,因为最好避免这些情况。您可以实例化等待请求的线程,执行请求,然后返回等待另一个请求。线程的实现如下所示:

/**平方整数*/
公共类平方器{
私有最终阻塞队列;
私人最终封锁排队;
公共平方器(阻止队列请求,
阻止队列响应){
this.in=请求;
this.out=回复;
}
公开作废开始(){
新线程(newrunnable()){
公开募捐{
while(true){
试一试{
//阻止,直到请求到达
int x=in.take();
//计算答案并将其发回
int y=x*x;
输出(新的平方结果(x,y));
}捕获(中断异常ie){
即printStackTrace();
}
}
}
}).start();
}
}
对于调用方方法:

publicstaticvoidmain(字符串[]args){
BlockingQueue请求=新建LinkedBlockingQueue();
BlockingQueue repress=新建LinkedBlockingQueue();
Squarer Squarer=新的Squarer(请求、回复);
squarer.start();
试一试{
//提出请求
请求。付诸表决(42);
//…也许同时做点什么。。。
//阅读回复
System.out.println(repress.take());
}捕获(中断异常ie){
即printStackTrace();
}
}

要了解更多信息,您可以开始阅读我找到的为您提供示例的帖子。

您基本上需要一个具有一些控件的无限运行线程

我发现这个答案是最简单的,它满足了你的需要。

基本上,您需要一个具有某种控制的无限运行线程

我发现这个答案是最简单的,它满足了你的需要。
实例有时会因OutOfMemoryException而崩溃。因此,多个实例并行启动
,这是一个很好的解决方案这是否回答了您的问题@是的,我知道。但不幸的是,我不是团队负责人,我无法影响
实例,有时会导致OutOfMemoryException崩溃。因此,多个实例并行启动
,这是一个很好的解决方案这是否回答了您的问题@是的,我知道。但不幸的是,我不是一个团队领导者,我无法影响团队