当前位置: 技术问答>java相关
菜鸟的多线程简单问题~~~
来源: 互联网 发布时间:2015-06-06
本文导语: 我作了一个小程序,希望有两个按钮,分别控制两个计数器,当一个线程启动后,CPU利用率就是100%了,根本无法相应其他事件,是在WIN2000下运行的,代码在下面,希望高手指点: import java.applet.Applet; import java.awt.*;...
我作了一个小程序,希望有两个按钮,分别控制两个计数器,当一个线程启动后,CPU利用率就是100%了,根本无法相应其他事件,是在WIN2000下运行的,代码在下面,希望高手指点:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class TryThreads extends Applet implements ActionListener{
TextField text1,text2;
Button button1,button2;
threadCount a,b;
public void init(){
button1=new Button("启动1");
button2=new Button("启动2");
text1=new TextField(20);
add(text1);
text2=new TextField(20);
add(text2);
add(button1);
button1.addActionListener(this);
add(button2);
button2.addActionListener(this);
b=new threads();
a=new threads();
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==button1){
a.start();
while (true){
text1.setText(String.valueOf(a.i));
}
}
if (e.getSource()==button2){
b.start();
while (true){
text2.setText(String.valueOf(b.i));
}
}
}
}
class threadCount extends Thread{
public int i=0;
public void run(){
while (true){
i++;
try{
Thread.sleep(100);
}
catch(InterruptedException e){return;}
}
}
}
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class TryThreads extends Applet implements ActionListener{
TextField text1,text2;
Button button1,button2;
threadCount a,b;
public void init(){
button1=new Button("启动1");
button2=new Button("启动2");
text1=new TextField(20);
add(text1);
text2=new TextField(20);
add(text2);
add(button1);
button1.addActionListener(this);
add(button2);
button2.addActionListener(this);
b=new threads();
a=new threads();
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==button1){
a.start();
while (true){
text1.setText(String.valueOf(a.i));
}
}
if (e.getSource()==button2){
b.start();
while (true){
text2.setText(String.valueOf(b.i));
}
}
}
}
class threadCount extends Thread{
public int i=0;
public void run(){
while (true){
i++;
try{
Thread.sleep(100);
}
catch(InterruptedException e){return;}
}
}
}
|
根本就是个死循环……难怪cpu占用100%