黑马程序员技术交流社区

标题: 分析一点刚研究的多线程共用共享资源的代码 [打印本页]

作者: my_heima    时间: 2014-3-26 14:45
标题: 分析一点刚研究的多线程共用共享资源的代码
多线程实现方法可能大家都知道,使用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接口实现多线程貌似还有很多好处,希望大家补充。。
作者: 小班。    时间: 2014-3-28 16:16
使用Runnable接口实现多线程的一方面的好处可以理解为:在Java中是单继承,不支持多继承,只支持多实现。如果类使用继承Thread类来实现线程,那么这个类只能继承Thread这一个类。而使用Runnable接口时可以继承别的类,Runnable实现线程比较灵活一些




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