多线程的操作问题,问问该怎么做,怎么处理?? 描述:有一个按钮A,点击一次就会创建一个线程workThread,workThread线程中执行一些耗时操作会下载很多图片并显示出来,会创建十几个DownloadImgThread,一个DownloadImgThread下载一张图片问题:下面我点击按钮A五次,我想前四次的workThread立即停止,只执行第五次的workThread,这个怎么做到多线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主线程在点击按钮时,要拿到创建线程workThread的引用,那么在主线程中就能去中断workThread这些线程。 一般中终线程的方法就是循环检查 stop flag 值的方式,flag为false,线程立即终止;但是线程处于非运行状态的话,需要用interrupt()方法两种方式结合就可以了。这篇文章,讲得很不错了。http://forward.com.au/javaProgramming/HowToStopAThread.html 看了上面回复一般都用标志法 private volatile Thread blinker; public void stop() { blinker = null; } public void run() { Thread thisThread = Thread.currentThread(); while (blinker == thisThread) { try { thisThread.downloadImg // 下载图片 } catch (InterruptedException e){ } repaint(); } }当线程已经在下载图片时,你这时调用stop方法,这个怎么才能制止线程下载图片? 总觉得你这个问题是不是应该反过来解决,当第一次按下按钮后,启动下载显示线程,之后,要么在操作完成之前disable这个按钮要么,在操作完成之前即使按了按钮,但如果操作在进行,则不做任何处理? 咨询一问题:httpclient 多线程如何监控页面是否改变呢? java 菜鸟 为什么输入不能第二个数? 关于out.flush() if,else和三元运算符哪个性能更好 找不到 windowClosed swing 图片显示 关于java的输入 怎样在JFrame中调用一个图片??? ***********解决掉就给分********** 请问如何向JTextPane中添加图片?解决必给分!!! 如何获取JRadioButton的值 本人女,请教IT发展方向
两种方式结合就可以了。这篇文章,讲得很不错了。
http://forward.com.au/javaProgramming/HowToStopAThread.html
看了上面回复一般都用标志法 private volatile Thread blinker;
public void stop() {
blinker = null;
}
public void run() {
Thread thisThread = Thread.currentThread();
while (blinker == thisThread) {
try {
thisThread.downloadImg // 下载图片
} catch (InterruptedException e){
}
repaint();
}
}当线程已经在下载图片时,你这时调用stop方法,这个怎么才能制止线程下载图片?
要么,在操作完成之前即使按了按钮,但如果操作在进行,则不做任何处理?