CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

菜鸟的多线程简单问题~~~

楼主whee(笨笨丸)2002-05-23 11:01:13 在 Java / J2SE / 基础类 提问

我作了一个小程序,希望有两个按钮,分别控制两个计数器,当一个线程启动后,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;}  
  }  
  }  
   
   
  }  
   
   
  问题点数:50、回复次数:5Top

1 楼alphazhao(迷路飞羊)回复于 2002-05-23 11:09:18 得分 0

b=new   threads();  
  a=new   threads();  
  改成  
  b=new   threadCount();  
  a=new   threadCount();  
  看看现在行不行?  
  Top

2 楼whee(笨笨丸)回复于 2002-05-23 11:20:39 得分 0

哦,那个是不小心打错了,和这个问题无关,这样是无法通过编译的,我那个可以执行,不过线程一开始就停不住了Top

3 楼alphazhao(迷路飞羊)回复于 2002-05-23 12:02:13 得分 0

faint,看看你程序里面的这个:  
  while   (true){  
      text1.setText(String.valueOf(a.i));  
  }  
  这个循环……sigh  
  还有后面b的也是  
  为什么不将这段代码text1.setText(String.valueOf(a.i));  
  放入线程里面去处理?加个text变量参数即可  
   
  Top

4 楼alphazhao(迷路飞羊)回复于 2002-05-23 12:04:21 得分 50

根本就是个死循环……难怪cpu占用100%Top

5 楼whee(笨笨丸)回复于 2002-05-23 20:49:24 得分 0

哦哦,我是初学啊,当然写的不是很对了,能把正解给我吗?Top

相关问题

  • 菜鸟求一个简单的多线程程序
  • 多线程菜鸟问题
  • 菜鸟100分磕头跪求一个最简单的多线程程序
  • 一只菜鸟学vc多线程!
  • 菜鸟的问题:我写的一个很简单的多线程,老是出这样的与法错误
  • 多线程问题,简单!
  • 问一个COM与多线程的菜鸟问题
  • 问一个COM与多线程的菜鸟问题!1
  • 菜鸟没有学过多线程,请高手们教两招!!!
  • 关于多线程的菜鸟问题?在线等待,急!

关键词

  • button
  • valueof
  • settext
  • textfield
  • 启动
  • applet
  • thread
  • text
  • add
  • import java

得分解答快速导航

  • 帖主:whee
  • alphazhao

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo