如何停止一个Java线程

如何停止一个Java线程,第1张

1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。

2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。

3. 使用interrupt方法中断线程。

1. 使用退出标志终止线程

当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用线程进行监听客户端请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。如果想让循环永远运行下去,可以使用while(true){……}来处理。但要想使while循环在某一特定条件下退出,最直接的方法就是设一个boolean类型的标志,并通过设置这个标志为true或false来控制while循环是否退出。下面给出了一个利用退出标志终止线程的例子。

你都会编这么多的代码了,怎么就剩下这两步不会?

import java.awt.Button

import java.awt.Color

import java.awt.FlowLayout

import java.awt.Frame

import java.awt.Label

import java.awt.TextField

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.awt.event.WindowAdapter

import java.awt.event.WindowEvent

public class Round extends Frame implements ActionListener {

TextField t1, t2, t3, t4

Button b1

Button btnExit

public Round() {

setLayout(new FlowLayout())

t1 = new TextField(20)

t1.setBackground(Color.orange)

t2 = new TextField(20)

t2.setBackground(Color.orange)

t3 = new TextField(20)

t3.setBackground(Color.orange)

t4 = new TextField(20)

t4.setBackground(Color.orange)

b1 = new Button("计算")

btnExit = new Button("退出")

add(new Label("输入圆的半径:"))

add(t1)

add(new Label("得出圆的直径:"))

add(t2)

add(new Label("得出圆的面积:"))

add(t3)

add(new Label("得出圆的周长:"))

add(t4)

add(b1)

add(btnExit)

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0)

}

})

b1.addActionListener(this)

btnExit.addActionListener(this)

setVisible(true)

setBounds(200, 200, 200, 300)

validate()

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==b1){

double temp, r, a, c

temp = Float.parseFloat(t1.getText())

r = 2 * temp

a = 3.14 * temp * temp

c = 2 * 3.14 * temp

t2.setText(String.valueOf(r))

t3.setText(String.valueOf(a))

t4.setText(String.valueOf(c))

}

if(e.getSource()==btnExit){

System.exit(0)

}

}

public static void main(String args[]) {

new Round()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11945440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存