public class A() {
public void methodA() {
For (int n=0;n<100;n++) {
//Do something recursive
}
//Another for-loop here
//A resursive method here
//Another for-loop here
finishingMethod();
}
}
public class B() {
public void runEverything() {
Runnable runnable = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
A a = new A();
a.methodA();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Thread thread = new Thread(runnable);
thread.start();
}
thread.Interrupt
不会停止线程(除非它处于睡眠状态,在这种情况下将抛出InterruptedException
)。中断基本上是向线程发送一条消息,指示它已被中断,但它不会导致线程立即停止。
当您有长时间的循环操作时,使用一个标志来检查线程是否已被取消是一种标准的方法。您的methodA
可以修改以添加该标志,因此可以执行如下操作:
// this is a new instance variable in `A`
private volatile boolean cancelled = false;
// this is part of your methodA
for (int n=0;n<100;n++) {
if ( cancelled ) {
return; // or handle this however you want
}
}
// each of your other loops should work the same way
则可以添加cancel方法来设置该标志
public void cancel() {
cancelled = true;
}
我的应用程序设置为(非故意)服务将使用gps/网络侦听器轮询位置。它工作得很好,因为我负责服务何时结束(即在找到新位置或达到超时时调用stopSelf())。然而,我最近读到,intentService可能更适合长时间运行的任务,因为它不是在ui线程上运行的,而是在自己的工作线程上运行的。问题是,现在它不允许服务在任何时间运行(我假设这是因为服务中没有任何活动发生,而侦听器等待接收位置,因此服务本
我想知道Java中是否有某种方法可以立即停止线程。我不想检查它的中断状态,我需要立即停止它。这是因为在Thread的run方法中有许多计算,为了使用interrupted实现我想要的结果,我必须到处注入状态检查。那么有什么方法可以立即中断线程吗?也许stop()方法?我知道有人说它不应该被使用,因为死锁,但如果它可以解决我的问题(即使它会引起另一个问题;))我可以用它。所以?附注。我知道有其他类似
我在LibGDX做一个项目。这是一款2d平台游戏。你可以说这就像超级马里奥。 这就是我如何把我的球员移到右边: 当我离开钥匙时,玩家仍然在移动一点。(我想他的身体上仍然有“线性冲动”的力量)。 我怎样才能让它停下来? 我的问题可能很简单:拿着钥匙,在LibGDX上向一个方向移动身体的最佳方式是什么。当我离开钥匙时,玩家立即停止。 BDW——我尝试过“setTransform”,当身体触摸其他物体时
问题内容: 我正在使用SQL Server 2008及其管理工作室。我执行了一个查询,该查询产生许多行。我试图通过红色的“取消”按钮将其取消,但在过去的10分钟内仍未停止。通常会在3分钟内停止。 原因可能是什么?如何立即停止? 问题答案: 可能是什么原因 只要您的注意力可以到达服务器并得到处理,查询就会立即取消。查询必须处于可取消状态,几乎总是如此,除非您执行某些操作,例如从SQLCLR调用Web
我遇到了一个问题,试图在经过一定时间后立即停止一个线程,因为thread.stop和类似的其他线程已经折旧。 我试图停止的线程使用我的鼠标,我需要停止它,以便我可以用其他方式使用我的鼠标。 我在想的是下面的代码,它只是制作另一个线程来观察主线程已经运行了多长时间,如果它是活的,就停止它,但我无法完成这一点。
我在我的工作区中使用STS IDE运行了几个Spring Boot应用程序,在我对其中一个项目进行maven更新后,每个项目都在应用程序启动过程后立即停止。我甚至创建了一个最小的例子,只是为了开始一些事情,同样的事情发生了。 这是我的pom.xml 即使是那些入门示例也会在启动后立即停止。我会非常感谢这里的一些帮助。 编辑:正如Alexandru Marina在评论中所说,我使用的是快照而不是稳定