黑马程序员技术交流社区

标题: 一个线程的题目~模拟3个老师同时发80份笔记, 每个老师相... [打印本页]

作者: UZI    时间: 2016-10-26 00:15
标题: 一个线程的题目~模拟3个老师同时发80份笔记, 每个老师相...
模拟3个老师同时发80份笔记, 每个老师相当于一个线程, 分别给三个线程命名为”张老师线程,林老师线程,李老师线程”,
                 * 1) 要求在控制台输出"xxx老师"在发第"xxx"份笔记
                 * 2) 如果要求最后一张试卷必须由”李老师线程”发出,请问应该怎么做?

public static void main(String[] args) throws InterruptedException {
                new TeacherThread("张老师").start();
                new TeacherThread("林老师").start();
                new TeacherThread("李老师").start();

        }
class TeacherThread extends Thread{
        private static int num = 1;
        public TeacherThread(String name) {
                super(name);
        }
        @Override
        public void run() {
               
                while (true) {
                        synchronized (TeacherThread.class) {
                                if (num == 81) {
                                        break;
                                }
                                if (num == 80) {
                                        if (!("李老师").equals(getName())) {
                                                continue;
                                        }
                                }
                                System.out.println(getName() + "正在发" + num + "份笔记");
                                num++;
                        }
                }
        }
}



作者: wangyuit    时间: 2016-10-26 00:22
谢谢了!!!!!!

作者: 想跳楼    时间: 2016-10-26 00:31
你这个昵称我喜欢

作者: UZI    时间: 2016-10-26 00:34
想跳楼 发表于 2016-10-26 00:31
你这个昵称我喜欢

居然没有人注册,所以我就确认了...
作者: yu244934256    时间: 2016-10-26 00:42
不错哦  又学习了
作者: 读书可以当饭吃    时间: 2016-10-26 00:59
很好,这么6666




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