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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄泉 中级黑马   /  2014-4-4 12:15  /  1696 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
复制代码
这个是利用Runnable方法使用多线程。避免了单继承的局限性,代码是放在接口的子类run方法中。
  1. class Test extends Thread
  2. {
  3.         private static int piao = 100;
  4.         public void run()
  5.         {
  6.                 while(piao>0)
  7.                 {
  8.                         piao--;
  9.                         System.out.println(Thread.currentThread().getName()+"卖票啦,还有:"+piao+"张");
  10.                 }
  11.         }
  12. }

  13. class ThreadTest
  14. {
  15.         public static void main(String[] args)
  16.         {       
  17.                 Test p1 = new Test();
  18.                 Test p2 = new Test();
  19.                 Test p3 = new Test();
  20.                
  21.                 p1.start();
  22.                 p2.start();
  23.                 p3.start();
  24.         }
  25. }
复制代码
这是利用Thread方法卖票。这样的话需要将 piao 静态修饰才能共享。
在这里有一个疑问:
        p1 p2 p3 到底是指向一个run方法
        还是在方法区开辟了3个空间,分别指向各自的方法
按照我的想法是在方法区开辟了各自的空间,再其调用。
这样的话使用Runnable会比Thread好。
会节省空间资源。


Runnable图解.png (116.08 KB, 下载次数: 46)

Runnable图解

Runnable图解

Thread图解.PNG (119.61 KB, 下载次数: 60)

Thread图解

Thread图解

2 个回复

倒序浏览
class Test implements Runnable
{
        private int piao = 100;
        public void run()
        {
                while(piao>0)
                {
                        piao--;
                        System.out.println(Thread.currentThread().getName()+"卖票啦,还有:"+piao+"张");
                }
        }
}

class ThreadDemo
{
        public static void main(String[] args)
        {
                Test t = new Test();
               
                Thread p1 = new Thread(t);
                Thread p2 = new Thread(t);
                Thread p3 = new Thread(t);
               
                p1.start();
                p2.start();
                p3.start();
        }
}
这个是利用Runnable方法使用多线程。避免了单继承的局限性,代码是放在接口的子类run方法中
回复 使用道具 举报
Runnable的优点就是能数据共享。而thread局限性太大。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马