黑马程序员技术交流社区

标题: 线程匿名内部类还有好方法吗? [打印本页]

作者: dd6434541    时间: 2016-5-7 22:58
标题: 线程匿名内部类还有好方法吗?

public class Test11 {

        /**
         * 有100份礼品,两人同时发送, 当剩下的礼品小于10份的时候则不再送出, 利用多线程模拟该过程并将线程的名称打印出来.
         */
       
        //将礼物的数量的变量上移成成员变量 私有静态成员变量。
        private static int num = 100;
       
        public static void main(String[] args) {
                new Thread("发放者1号") {
                        //从写run方法
                        public void run() {
                                while (true) {
                                        //这个内部类也是类,所以要用在上一级的类定义锁!
                                        synchronized (Test11.class) {
                                                if (num < 10)
                                                        break;

                                                System.out.println(this.getName() + "礼品还剩下" + num-- + "个");
                                        }
                                }
                        }
                }.start();

                new Thread("发放者2号") {
                        @Override
                        public void run() {
                                while (true) {
                                        synchronized (Test11.class) {
                                                if (num < 10)
                                                        break;

                                                System.out.println(this.getName() + "礼品还剩下" + num-- + "个");
                                        }
                                }
                        }
                }.start();

        }
}




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