0 0

关于线程5

做的一个简单的Swing程序,想通过两个JButton控制线程的启动和结束。
先写了一个自己的线程类:
public class MyThread extends Thread {
private boolean isRun = true;// 标识

public void setIsRun(boolean isRun) {
this.isRun = isRun;
}
@Override
public void run() {
while(isRun){
// do something
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
然后在JFrame里new了一个myThread作为JFrame的成员属性,在开始按钮的监听事件里写myThread.start()即可运行线程,在停止按钮监听事件写myThread.setIsRun(false)即可结束线程。
现在的问题是,点击停止按钮之后还想开始线程的话显然是不能实现的,因为myThread已经结束了,不能再start()。必须重新new一个JFrame来实例化一个myThread才能再start()
也许你会说吧new myThread这个句话写到开始按钮的监听事件里,但是这样停止按钮就拿不到myThread这个对象,不能使用setIsRun(false)来结束线程。
2014年8月04日 16:07

3个答案 按时间排序 按投票排序

0 0

就是设置一个isRun状态,为true的时候执行代码,false的时候啥都不执行,这个线程是不能停的,要一直运行,要么执行代码,要么空循环。

2014年8月06日 17:40
0 0

很长时间不玩swing了。
尝试1:
TestFrame extends JFrame
public static Thread myThread

尝试2:
实现监听器并添加thread成员变量
构造函数(Thread)

2014年8月06日 16:52
0 0

那你可以不让线程结束,按下停止按钮,只是让线程休眠,按下开始按钮再唤醒线程就可以了

2014年8月05日 11:17

相关推荐

    Debug关于线程问题

    综上所述,"Debug关于线程问题"中遇到的白屏现象可能是由于线程同步不当,导致主线程被阻塞。通过采用正确的线程同步策略和异步处理机制,可以有效地解决这类问题,确保程序的正常运行和用户体验。对于具体的代码...

    关于线程与进程详细解说 图解 最实用 最全面

    ### 关于线程与进程详细解说 #### 一、引言 在计算机科学领域,进程与线程是两个核心概念,对于理解操作系统的工作原理至关重要。本文将深入探讨这两个概念,并通过直观的图解来帮助读者更好地理解它们之间的区别...

    关于线程和tcp的模拟读写文件

    本项目“关于线程和TCP的模拟读写文件”旨在通过多线程技术模拟读写文件的过程,为实现视频直播的后台服务打下基础。以下是关于这些主题的详细解释: 1. **线程**: - **定义**:线程是操作系统内核调度的基本单位...

    关于线程练习

    关于线程练习,可以掌握线程的相关操作。。。

    关于线程的小程序

    本文将深入探讨“关于线程的小程序”所涵盖的知识点,旨在为初学者提供一个全面的线程理解和实践基础。 一、线程的概念 线程是操作系统分配CPU时间片的基本单位,它在进程中执行,每个进程可以有多个线程。线程之间...

    关于线程的例子

    本示例将围绕“关于线程的例子”进行深入探讨,结合Eclipse3.3、MyEclipse6以及jdk1.5的软件环境,我们将学习如何在Java中创建、管理及同步线程。 首先,让我们了解线程的基本概念。线程是进程内的一个执行单元,每...

    java高清关于线程的讲解实例.rar

    Java线程是并发编程中的核心概念,它允许程序同时执行多个任务,极大地提高了程序的效率和响应速度...通过学习和实践提供的"java关于线程的讲解实例6666.pdf",可以深入理解这些概念,并提升在多线程环境下的编程能力。

    关于线程同步VC程序源代码

    在这个“关于线程同步VC程序源代码”的压缩包中,我们可以期待找到与关键区、内核对象、多线程以及互斥对象相关的源代码示例。 1. **关键区(Critical Section)**: 关键区是一种简单的线程同步机制,它允许一次...

    Java特别篇-关于线程创建的三种方式的总结对比

    ### Java特别篇-关于线程创建的三种方式的总结对比 #### 一、常见3种创建线程的方式 ##### (1)方式1:继承Thread类的方式 - **创建步骤**: - 创建一个类,继承`Thread`类。 - 重写`run()`方法,该方法将包含...

    java关于线程的实验代码

    在Java编程中,线程是程序执行的独立路径,它允许多个任务同时进行,极大地提高了程序的效率和响应性。本实验代码基于《Java大学教程(第三版)》中的线程相关课题,旨在帮助学习者深入理解Java线程的概念、创建与...

    关于线程(java)两天的课件

    本课程将深入探讨线程的基础知识,包括如何创建线程、理解线程的状态以及如何有效地管理线程资源,特别是通过线程池来优化性能。 首先,我们从线程的创建开始。在Java中,有两种主要的方式来创建线程:继承Thread类...

    Java/Android关于线程使用的总结

    ### Java/Android线程使用深度解析 在计算机科学领域,线程与进程是核心概念,尤其是在多任务操作系统中。本文将深入探讨Java/Android环境下的线程管理,包括线程的创建、线程池的利用及`ThreadHandler`的运用等...

    关于线程的动态停止,一个很经典的多线程麦票程序

    本示例“线程的动态停止:一个很经典的多线程麦票程序”探讨了如何在运行时控制线程的执行和停止,这对于理解和优化多线程应用程序至关重要。 1. **线程的基本概念**: - 线程是操作系统分配CPU时间的基本单位,每...

    LINUX C 关于线程的详细介绍

    【线程的概念与优势】 线程是操作系统调度的基本单位,它在同一个进程中并行执行,共享进程的资源,如内存空间、文件描述符等。线程的引入弥补了进程之间的通信成本高和资源开销大的问题。相比于进程,线程具有以下...

    java关于线程编程

    Java线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,提高了程序的并发性和效率。在Java中,线程是程序执行的基本单元,一个进程可以包含多个线程。下面将详细介绍Java线程编程的一些核心概念和...

    关于线程管理 thread delphi

    在 Delphi 中,线程(Thread)是程序执行的基本单元,它允许并发处理,使得应用程序可以在同一时间执行多个任务。线程管理对于高效且响应迅速的软件开发至关重要。本篇文章将深入探讨 Delphi 中线程的创建、同步、...

    关于线程实例的简单应用

    在编程领域,线程是程序执行的一个独立路径,允许程序同时执行多个任务。在多核处理器或多处理器系统中,线程能充分利用硬件资源,提高程序的并发性和执行效率。本主题将深入探讨“线程实例的简单应用”,帮助初学者...

    C#中关于线程同步的练习

    在C#编程中,线程同步是一个至关重要的概念,特别是在多线程环境下,它用于管理和控制多个线程的执行顺序,以确保数据的一致性和完整性。线程同步可以帮助避免竞态条件、死锁等问题,提高程序的稳定性和性能。本文将...

    易语言线程返回数据的方法源码

    如果你在资源源码站找到了与这个标题相关的“content.txt”文件,可能包含的就是SanYe分享的关于线程返回数据的具体实现源码。 总的来说,易语言中的线程返回数据主要通过设置和获取线程变量来实现,同时需要注意...

Global site tag (gtag.js) - Google Analytics