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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多线程实现方法可能大家都知道,使用Runnable接口实现比继承Thread类一大好处就是可共享同一个资源,下面的例子是不同窗口共用卖票的例子。不太明白的童鞋可以使用两种方法自己试验。

class MyThread /*extends Thread */implements Runnable
{
        private int ticket=100;
        public void run()
        {
                for(int i=0;i<200;i++)
                {
                        if(ticket>0)
                                //try{Thread.sleep(1000);}catch(Exception e){}
                        System.out.println(Thread.currentThread().getName()+"正在卖票"+ticket--);
                }
        }
}
class Sale
{
        public static void main(String[] args)
        {
                /*Thread mt1 = new MyThread();
                Thread mt2 = new MyThread();
                mt1.start();
                mt2.start();*/
                MyThread mt = new MyThread();
                new Thread(mt,"窗口1").start();
                new Thread(mt,"窗口2").start();
                new Thread(mt,"窗口3").start();
        }
}

使用Runnable接口实现多线程貌似还有很多好处,希望大家补充。。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

1 个回复

倒序浏览
使用Runnable接口实现多线程的一方面的好处可以理解为:在Java中是单继承,不支持多继承,只支持多实现。如果类使用继承Thread类来实现线程,那么这个类只能继承Thread这一个类。而使用Runnable接口时可以继承别的类,Runnable实现线程比较灵活一些
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马