黑马程序员----多线程的两种实现方法

                                             第一部分 多线程的Thread实现方法

继承Thread类:

(1)定义类继承Thread方法

(2)复写Thread方法

(3)调用线程的start方法 该方法两个作用:启动线程,调用run方法

 

覆盖run方法的原因:

Thread 类用于描叙线程,该类定义了一个功能,用于存储要执行的代码,该功能就是run方法

也就是说thread方法中的run方法,用于线程要执行的代码

代码实现:

 

class demo extends Thread

{

     //private String name;

        demo(String name)

        {

            //this.name=name;

             super(name);

       }

      public void run(String name)

        {

               System.out.println(name+"run");

        }

}

 

class demotest

{

        public static void main(String[] args)

          {

                demo d1 = new demo("one");

                demo d2 = new demo("two");

                d1.start(); //run方法与start方法的区别

                d2.start();

          }

}

 

 

 

                                  第二部分  对线程的runnable实现方法

实现过程:

(1)定义类实现runnable接口

(2)复写runnable接口中的run方法

(3)通过Thread类建立线程对象

(4)将runnable接口的子类对象作为实际参数传给Thread类的构造函数

(5)调用Thread类的start方法启动线程并调用runnable接口的子类run方法

 

class Ticket implements Runnable

{

        private int ticket = 100;

        public void run()

          {

            while(true)

               {

                 if(ticket>0)

                            {

                                      System.out.println(Thread.currentThread().getName()+"...sale:"+ticket);

                            }

                 }

         }

}

 

class ticketDemo

{

       public static void main(String[] args)

        {

              Ticket t = new Ticket();

              Thread t1 = new Thread(t);

              Thread t2 = new Thread(t);

              Thread t3 = new Thread(t);

              Thread t4 = new Thread(t);

              t1.start();

              t2.start();

              t3.start();

              t4.start();

         }

}

 

                                              第三部分:两种实现方式比较

继承Thread类:线程代码放在Thread子类run方法中

实现runnable类:线程代码放在接口子类的run方法中

实现方式的好处:避免单继承的局限性,在定义多线程时建议多使用此方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值