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

有关线程的问题

楼主qps2006()2006-02-02 10:34:42 在 Java / J2SE / 基础类 提问

我对线程不太理解,找到一个示例,却是applet,有谁能帮我改成application:  
   
  //这个applet很简单,就是每秒显示一下时间  
  //请用System.out.println代替g.drawString(System.currentTimeMillis()+"",   0,   12);      
  //(把     applet删掉)  
   
   
   
  import   java.awt.*;  
  import   java.applet.*;  
   
  public   class   Clock   extends   java.applet.Applet  
                                        implements   Runnable   {  
          private   volatile   Thread   clockThread   =   null;  
   
   
          public   void   init()   {  
                  setBackground(Color.blue);  
                  resize(275,   25);    
          }  
   
          public   void   start()   {  
              if   (clockThread   ==   null)   {  
                    clockThread   =   new   Thread(this,   "Clock");  
                    clockThread.start();  
              }  
          }  
   
          public   void   run()   {  
              Thread   myThread   =   Thread.currentThread();  
                  while   (clockThread   ==   myThread)   {  
                          repaint();  
                          try   {  
                                  Thread.sleep(1000);  
                          }   catch   (InterruptedException   e){   }  
                  }  
          }  
   
          public   void   paint(Graphics   g)  
            {g.setColor(Color.black);  
              g.drawString(System.currentTimeMillis()+"",   0,   12);          
            }  
   
          public   void   stop()   {  
                  clockThread   =   null;  
          }  
  } 问题点数:20、回复次数:2Top

1 楼thumb3344(祖国啊,我只是一个摆地摊的!)回复于 2006-02-02 10:46:35 得分 20

改了一半,不想改了,原国改得方法很多,很灵活,命令行是一个样,JFrame又是另一个样.  
  我贴一断,代码,楼主有时间自己改,这样收获比我讲得大.  
   
   
  import   java.util.*;  
  public   class   SleepingThread     extends   Thread   {  
      private   int   countDown   =   5;  
      private   static   int   threadCount   =   0;  
      public   SleepingThread()   {  
          super(""   +   ++threadCount);  
          start();  
      }  
      public   String   toString()   {  
          return   "#"   +   getName()   +   ":   "   +   countDown;  
      }  
      public   void   run()   {  
          while(true)   {  
              System.out.println(this);  
              if(--countDown   ==   0)   return;  
              try   {  
                  sleep(10000);  
              }   catch   (InterruptedException   e)   {  
                  throw   new   RuntimeException(e);  
              }  
          }  
      }  
  public   static   void   main(String   args[])   {  
  for(int   i=0;i<5;i++)    
  new   SleepingThread();  
  }  
  }  
   
  看那个main()方法,是不是有点思路了?Top

2 楼qps2006()回复于 2006-02-02 11:04:50 得分 0

谢谢thumb3344!  
  我自己也改完了:  
   
  public   class   Clock2   implements   Runnable   {  
          volatile   Thread   clockThread   =   null;  
   
          public   void   start()   {  
              if   (clockThread   ==   null)   {  
                    clockThread   =   new   Thread(this,   "Clock");  
                    clockThread.start();  
              }  
          }  
   
          public   static   void   main(String   args[])   {  
            new   Clock2().start();  
          }  
   
          public   void   run()   {  
              Thread   myThread   =   Thread.currentThread();  
                  while   (clockThread   ==   myThread)   {  
                  System.out.println(System.currentTimeMillis()+"");  
                          try   {  
                                  Thread.sleep(1000);  
                          }   catch   (InterruptedException   e){   }  
                  }  
          }  
   
   
          public   void   stop()   {  
                  clockThread   =   null;  
          }  
  }  
  Top

相关问题

  • 有关线程
  • 有关多线程!
  • 线程有关Synchronize
  • 有关线程的终止
  • 有关线程的问题
  • 有关VB多线程
  • 有关多线程一问
  • 有关线程的问题
  • 有关线程的问题?
  • 有关c#的线程

关键词

  • null
  • clockthread
  • applet
  • thread
  • public void

得分解答快速导航

  • 帖主:qps2006
  • thumb3344

相关链接

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

广告也精彩

反馈

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