黑马程序员技术交流社区

标题: 线程占内存100%的问题 [打印本页]

作者: 郝福明    时间: 2012-12-28 13:03
标题: 线程占内存100%的问题
本帖最后由 郝福明 于 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. }
复制代码

作者: 梁俊    时间: 2012-12-29 15:27
继承Thread时,运行也一样啊,也是一直运行,不会停止的
作者: 郝福明    时间: 2012-12-29 17:48
梁俊 发表于 2012-12-29 15:27
继承Thread时,运行也一样啊,也是一直运行,不会停止的

不过继承Thread的时候内存没有用那么多,实现Runnable的时候就100%了
作者: 黄锦成    时间: 2012-12-29 18:50
即使票数为0,它还是在循环啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2