我的android应用程序中有一个线程完成了它的任务,但它仍然没有退出,当我再次运行它时,我得到一个错误,即线程已经激活
我的线程
Thread mythreads = new Thread()
{
@Override
public void run() {
// do some work
// exit point
}
};
所以请问我如何停止这个甚至线程完成它的代码执行,但是当我尝试再次运行它时,它给了我错误
java.lang.IllegalThreadStateException: Thread already started
我试图用threadkill函数代码停止,但没有成功
public void killthread(Thread tname){
try {
if (tname.isAlive()) {
Log.d("tag1","Thread is Alive");
tname.interrupt();
tname = null;
}
}catch (Exception e){
e.printStackTrace();
}
}
线程对象只能启动一次。如果您需要< code >停止/中断一个< code >线程,然后想要再次启动它,您应该创建一个新的实例,并对它调用< code>start():
thread.interrupt();
thread = new YourThreadSubclass();
thread.start();
在您的情况下,您正在执行线程mythreads = new Thread(),
因此除非您在完成执行之前明确尝试停止它,否则它根本不应该成为问题。
创建匿名线程
new Thread()
{
public void run() {
//Your code
}
}.start();
我有一个python脚本,所以我在python中使用线程模块并发执行。 def run(self):db=MySQLdb。connect('localhost','mytable','user','mytable')游标=db。cursor()query=“dig short”str(反向ip)”按键try:output=子进程。检查\u输出(查询,shell=True)输出\u编辑=输出。条带(
本文向大家介绍C#程序暂停线程,包括了C#程序暂停线程的使用技巧和注意事项,需要的朋友参考一下 要在C#中暂停线程,请使用方法。 您需要设置线程要暂停的毫秒数,例如5秒钟,请使用- 示例 让我们看看如何循环并设置sleep方法来暂停线程。 输出结果
问题内容: 我正在编写一段连接到服务器的代码,使用该连接会生成一堆线程并执行一堆“工作”。 在某些情况下,连接失败,我需要停止所有操作并从头开始创建新对象。 我想在对象之后进行清理,但在线程上调用thread.stop,但是此方法似乎已被弃用。 推荐的替代方法是什么?是否应该为每个线程编写自己的清理和退出方法?将线程设置为null?或者是其他东西? 问题答案: 看这里 : 在HowToStopAT
问题内容: 如果我有这样的Java代码: 并在调试中运行它,我可以看到所有这些线程(在取消之后)仍在运行,所以它们也占用了我的内存吗?如果是的话,我怎么能完全销毁那些线程? 问题答案: 调用您的线程,仅此而已。因此,您需要在您的方法中正确处理它。对于您的简单情况,您的线程将完成其执行,并且它们的对象将由GC清除。
我正在写一个小的多线程超文本传输协议文件下载程序,并希望能够缩小可用的线程,因为代码遇到错误 这些错误将特定于在web服务器不允许任何更多连接的情况下返回的http错误 eg.如果我设置了一个由5个线程组成的池,每个线程都试图打开自己的连接并下载文件块。服务器可能只允许2个连接,我相信会返回503个错误,我想检测到这一点并关闭一个线程,最终限制池的大小,大概只有服务器允许的2个 我能让线自动停止吗
我是z3和java的初学者,现在已经尝试安装了相当长的一段时间。我已经按照http://leodemoura.github.io/blog/2012/12/10/z3-for-java.html上给出的所有说明进行了操作,直到最后一步,即运行- “ld_library_path=.java-cp com.microsoft.z3.jar:.javaexample”(在Linux和FreeBSD上)
我使用 C 和 POSIX 线程创建了一个多线程应用程序。我现在应该阻塞一个线程(主线程),直到设置了布尔标志(变为真)。 我找到了两种方法来完成这件事。 > 在没有睡眠的情况下旋转。 在睡眠中旋转循环。 如果我应该遵循第一种方式,为什么有些人编写代码遵循第二种方式?如果应该使用第二种方法,为什么要让当前线程Hibernate呢?这种方式的缺点是什么?