我正在寻找一种方法来停止/杀死线程,我看到Thread.stop()已被弃用。所以我开始寻找另一个解决方案,并看到多个帖子建议这样做:
thread.interrupt();
thread = null;
但这不会阻止我的线程,我的线程看起来像这样:
public static Thread loadingSpinnerTimer (final Context context, final ImageView imageView){
final Handler mHandler = new Handler();
thread = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (!isPaused) {
try {
Thread.sleep(100);
mHandler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// Write your code here to update the UI.
Log.e("ThreadMessage","HasRun");
if (ticker == 12){
ticker = 0;
}
Bitmap myBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.spinner_160x160);
Bitmap img = Bitmap.createBitmap(myBitmap.getWidth(), myBitmap.getHeight(), Bitmap.Config.ARGB_8888); //ARGB_8888 transparrent?
Canvas canvas = new Canvas(img);
int offset = myBitmap.getWidth()*ticker;
Rect srcrectangle = new Rect( 0, offset, myBitmap.getWidth(), myBitmap.getWidth()+offset);
Rect dstrectangle = new Rect( 0, 0, myBitmap.getWidth(), myBitmap.getWidth());
canvas.drawBitmap(myBitmap,srcrectangle,dstrectangle,null);
img.setHeight(myBitmap.getWidth());
imageView.setImageDrawable(new BitmapDrawable(context.getResources(), img));
ticker++;
}
});
} catch (Exception e) {
// TODO: handle exception
}
}
}
});
thread.start();
return thread;
}
有人得到我可以用来停止/杀死我的线程的解决方案吗?非常感谢任何帮助。
您有一个 while 循环,检查已暂停,
然后在循环结束时捕获常规异常
。即使抛出中断异常
,它也将被捕获,然后再次重新运行 while 循环。
当您捕获InterruptedException
异常时,您需要将isPause
更改为true,以便while循环停止运行。
本文向大家介绍C#停止线程的方法,包括了C#停止线程的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#停止线程的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。
主要内容:1 什么是Java终止线程,2 Thread类终止线程的方法,3 Java终止线程的例子1,4 Java终止线程的例子2,5 Java终止线程的例子3,6 isInterrupted和interrupted方法1 什么是Java终止线程 如果任何线程处于睡眠或等待状态(即,调用sleep()或wait()方法),则在线程上调用interrupt()方法,会抛出InterruptedException中断睡眠或等待状态。如果线程未处于睡眠或等待状态,则调用interrupt()方法将执行
问题内容: 我正在编写一段连接到服务器的代码,使用该连接会生成一堆线程并执行一堆“工作”。 在某些情况下,连接失败,我需要停止所有操作并从头开始创建新对象。 我想在对象之后进行清理,但在线程上调用thread.stop,但是此方法似乎已被弃用。 推荐的替代方法是什么?是否应该为每个线程编写自己的清理和退出方法?将线程设置为null?或者是其他东西? 问题答案: 看这里 : 在HowToStopAT
我正在尝试流式传输从FFmpeg编码的Webm视频文件。 然而,当我寻找到一个未被缓冲的位置时,视频播放停止。 我已验证是否下载了正确的字节范围。 知道是什么引起的吗?在x264中编码的mp4文件中,查找工作完美无瑕。Webm似乎是个问题。可能是视频编码方式有问题。 ffmpeg-i输入。mp4-编解码器:v libvpx-质量最佳-b:v 4000k-qmin 10-qmax 42-最大速率40
嗨,我有个大问题, 我一直在创建一个自动化脚本,并在构建过程中对其进行测试。我已经完成了第109行,现在第64行已经开始失败。 这条线路之前已经工作了很多次,在没有任何真实信息帮助解决的情况下突然停止。 这是我使用xpath从中提取元素的代码 我使用以下代码使用xpath选择列表中的第一项 这行代码一整天都运行得很好,现在每次执行脚本都会失败。我现在得到一个错误,没有找到元素。 当我导航到页面并使
实际上,我正在开发一个应用程序,它需要处理一个NFC标签,使用户能够使用这个应用程序。 这个活动是在应用程序启动和简历时调用的。 编辑:我注意到这是因为,即使屏幕没有变黑,cpu或NFC阅读器进入睡眠模式,我也必须锁定和解锁手机,使它再次工作,我现在正在寻找一种方法,使cpu一直运行,我已经尝试过: 仅适用于Galaxy Xcover 3(Android 6.0.1) 我仍然无法使它在Galaxy