黑马程序员_关于线程对象和目标对象的问题

---------------------- android培训 java培训 、期待与您交流! ---------------------- 

 

      今天看到一个程序里面讲到了目标对象和线程对象对run方法执行的问题,开始一直有些疑惑,可是通过看毕老师的视频和解释我有了终于懂了,真的好有成就感啊,下面是我的体会!

       这个程序是声明实现Runnable街口实现奇数\偶数序列的线程并发执行。

 

public   class  NumberRunnable implements Runnable
{  private int k; 
    public NumberRunnable(int k)
  {

  this.k=k;
  }
 public NumberRunnable()
  {

   this(0);
  }
 public void run()
  {
     int i=k;
     System.out.println();
     while(i<50)
      {
        System.out.print(i+"  ");
     i+=2;
      }
      System.out.print("结束!");
        }
  public static void main(String args[])
   {
      NumberRunnable odd=new NumberRunnable(1);  //创建具有线程体的目标对象
      Thread thread_odd=new Thread(odd,"奇数线程"); //以目标对象创建线程对象
                           thread_odd.start();
             new Thread(new NumberRunnable(2),"偶数线程").start();
   }
}

程序的运行结果如下:

1   3   5   7   9   11   13   15   17   19   21   23   25   27   29

2   4   6   8   10   12   14   16   18   20   22   24   26   28   30   32   34

   36   38   40   42   44   48   结束!

31   33   35   37   39   41   43   45   47   49   结束!

    NumberRunnable 类是实现Runnable接口的一个类,不是Thread的子类。NumberRunnable类的对象odd本身不是线程对象,没有start()等方法,但odd具有实现了的run()方法,这种对象可以作为线程对象的一个目标对象。

  Thread类的方法声明如下:

   public()

   {

       if(target!=null)

                target.run();

   }

     由此可知,当目标对象为空时,Thread类对象的run()方法为空。例如:

Tread   t1 = new Tread();                  //ti的run()方法为空

当目标对象非空时,Tread类的对象执行目标对象的run()方法。例如:

Tread    thread_odd = new Tread(odd,"奇数线程");   //thread_odd 实际执行odd的run()方法

    后一句声明了一个Tread类的线程对象 thread_odd ,odd是线程对象的目标对象,这意味着, thread_odd 线程对象在运行时将实际执行odd的run()方法。

    终于搞懂了这个问题,今天是第一次写日记。写的过程中确实是对之前学习的回顾,能够让我更加深刻的理解知识点,我会努力养成这个好习惯,我相信自己一定能够通过自己的一点一滴的努力达到想要的高度,给自己加油!come on!

 (这是昨晚的日记,可是由于网速太慢,无法发表,今早起来果断发表,哈哈!)


 

---------------------- android培训 java培训 、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值