A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郝福明 中级黑马   /  2012-12-28 13:03  /  1473 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郝福明 于 2012-12-29 20:45 编辑

当我继承Thread的时候,cpu没事,而且程序会结束,但是用实现Runnable的时候,程序就会一直运行,而且cpu占到100%
  1. public class salePiao {

  2.         public static void main(String[] args) {
  3.                 Ticket t = new Ticket();
  4.                
  5.                 Thread t1 = new Thread(t);
  6.                 Thread t2 = new Thread(t);
  7.                 Thread t3 = new Thread(t);
  8.                 Thread t4 = new Thread(t);
  9.                
  10.                 t1.start();
  11.                 t2.start();
  12.                 t3.start();
  13.                 t4.start();
  14.         }
  15. }
  16. class Ticket implements Runnable{ //extends Thread{
  17.         private int tick = 10;
  18.         public void run(){
  19.                 while(true){
  20.                         if(tick>0){
  21.                                 System.out.println(Thread.currentThread().getName()+"sale:"+tick--);
  22.                         }
  23.                 }
  24.         }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

3 个回复

倒序浏览
梁俊 黑马帝 2012-12-29 15:27:01
沙发
继承Thread时,运行也一样啊,也是一直运行,不会停止的
回复 使用道具 举报
梁俊 发表于 2012-12-29 15:27
继承Thread时,运行也一样啊,也是一直运行,不会停止的

不过继承Thread的时候内存没有用那么多,实现Runnable的时候就100%了
回复 使用道具 举报
即使票数为0,它还是在循环啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马