关于线程的暂停、继续和停止,急~~

问题描述

我有个程序是这样的,点开始按钮的时候启动一个线程进行遍历,当点击暂停按钮的时候要求暂停遍历点继续按钮就继续遍历。现在的问题是我在点击暂停按钮时判断该线程的当前状态却是stopped,不能对其进行挂起和继续操作。那么我该怎么实现我要的效果呢??请各位帮忙解决下谢谢~~~~

解决方案

解决方案二:
说明这个线程已经执行完毕了。当线程执行完毕时你应该把stop的button设为disabled
解决方案三:
帮顶
解决方案四:
我可能没说明白。是这样的,我在它运行的时候点个按钮已消息框的形式提示它目前的状态。提示是stopped,然后点确定之后它又继续遍历了,说明线程还在执行只是我激发别的事件时它停止了。。
解决方案五:
//线程的几个常用方法:Thread.Start():启动线程的执行;Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用;Thread.Resume():继续已挂起的线程;Thread.Interrupt():中止处于Wait或者Sleep或者Join线程状态的线程;Thread.Join():阻塞调用线程,直到某个线程终止时为止Thread.Sleep():将当前线程阻塞指定的毫秒数;Thread.Abort():以开始终止此线程的过程。如果线程已经在终止,则不能通过

时间: 2024-09-20 08:58:39

关于线程的暂停、继续和停止,急~~的相关文章

python 线程的暂停, 恢复, 退出详解及实例_python

python 线程 暂停, 恢复, 退出 我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志位, 一旦标志位到达到预定的值, 就退出循环. 这样就能做到退出线程了. 但暂停和恢复线程就有点难了, 我一直也不清除有什么好的方法, 直到我看到thread

java 线程 怎么暂停与重新开启

问题描述 java 线程 怎么暂停与重新开启 这是我的一个线程类 class senddata extends Thread{ private String command; public void setcommand(String c){ this.command=c; } public void run() { //省略行为,其实就是使用socket发送数据 } } 我想发送一个信息,第一次发送可以没问题,第二次我使用setcommand方法换一个命令再发送,就完了!前一个命令已经发送完了

JAVA多线程机制之暂停、恢复和停止

在JDK1.2以前的版本如果要实现线程的暂停.恢复和停止的方法分别是suspend().resume().stop().但是从JDK1.2以后这些方法已经被遗弃,因为它们有可能造成严重的系统错误和异常. 首先suspend()方法不会释放线程所占用的资源.如果使用该方法将某个线程挂起,则可能会使其他等待资源的线程死锁.而resume()方法本身并无问题,但是不能独立于suspend()方法存在. 其次调用stop()可能会导致严重的系统故障.因为该方法会使线程立刻中断指令执行,不管这段方法是否执

《Java多线程编程核心技术》——1.8节暂停线程

1.8 暂停线程 暂停线程意味着此线程还可以恢复运行.在Java多线程中,可以使用suspend()方法暂停线程,使用resume()方法恢复线程的执行. 1.8.1 suspend与resume方法的使用 本节将讲述如何使用suspend与resume方法. 创建测试用的项目suspend_resume_test,文件MyThread.java代码如下: package mythread; public class MyThread extends Thread { private long

关于Java中停止线程执行的方法总结

Java中停止线程执行的方法 一.暂停或停止线程的理论 在Java编程中,要暂停或停止当前正在运行的线程,有几种方法.对于把线程转入睡眠Sleep状态,使用Thread.sleep()是最正确的方式.或许有人会问,为什么不使用等待wait()或通知notify()?要知道,使用等待或通知都不是很好的方式.线程可以使用等待wait()实现被阻塞,这属于条件等待的方式,当条件满足后,又会从阻塞转为等待状态.尽管可以在等待wait()条件那里放一个超时设置,但等待wait()的设计目的不是这样的,等待

多线程暂停和唤醒-java线程暂停和唤醒问题

问题描述 java线程暂停和唤醒问题 java线程如何暂停,暂停的时间未知.之后又可以在程序中唤醒呢? 解决方案 在数据不可用的时候,当前线程里wait:在数据可用的时候,当前线程notify 举个例子,如果一个自定义队列,有生产者线程和消费者线程: 那么,如果消费者发现队列里拿不到数据了,队列空了,那么就wait: 生产者一直在生产,如果生产了一条数据,插入队列以后,马上notifyAll,自然就把消费者唤醒了. 请举一反三. 解决方案二: java线程的暂停与唤醒测试java 线程阻塞的问题

java线程没有响应,像是暂停了一样

问题描述 java线程没有响应,像是暂停了一样 简单地来说,就是有两个线程A和B,在main函数里面先后启动他们 线程A的run函数里面有一个while循环,循环体里主要是一句if,判断的是一个存在于A里面的一个布尔变量boo,如果是true就输出一句话,但boo在初始化的时候就已经设置为false 线程B在接收了一次输入之后,再把线程A里面的boo改成true,仅此而已. 现在问题来了,线程A始终没有输出,相当于线程A暂停了(线程A并没有被杀死),求解呀... 更加奇怪的是,如果使用debug

《Java多线程编程核心技术》——1.7节停止线程

1.7 停止线程停止线程是在多线程开发时很重要的技术点,掌握此技术可以对线程的停止进行有效的处理.停止线程在Java语言中并不像break语句那样干脆,需要一些技巧性的处理.使用Java内置支持多线程的类设计多线程应用是很常见的事情,然而,多线程给开发人员带来了一些新的挑战,如果处理不好就会导致超出预期的行为并且难以定位错误.本节将讨论如何更好地停止一个线程.停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作.虽然这看起来非常简单,但是必须做好防范措施,以便达到预期的效

j2me进度条与线程化模型

j2me进度条与线程化模型作者:FavoYang Email:favoyang@yahoo.com 欢迎交流 Keyworld:线程化模型 j2me UI设计 内容提要: 本文研究如何建立一个方便使用的线程化模型,这个线程化模型由前台的进度条UI 和后台的背景线程组成. 版权声明: 本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要转载,有三个途径:1)联系我并经我同意:2)和www.j2medev.com有转载文章合作协议的