黑马程序员技术交流社区

标题: 正好学到多线程,随便练了一下 [打印本页]

作者: 无辜被杀害    时间: 2015-3-24 15:14
标题: 正好学到多线程,随便练了一下
/*
需求:  有两个线程学生和老师
        学生准备睡一会再上课,老师说了3下上课
        叫醒睡觉的学生
*/
class ClassRoom implements Runnable
{
        Thread teacher,student;
        //目标对象将线程作为自己的的成员
        ClassRoom()
        {
                teacher=new Thread(this);
                student=new Thread(this);
                teacher.setName("王老师");
                student.setName("张三");
        }
        public void run()
        {
                if(Thread.currentThread()==student)
                {
                        try
                        {
                                System.out.println(student.getName()+"正在睡觉");
                                Thread.sleep(1000*60*60);
                        }
                        catch(InterruptedException e)
                        {
                                System.out.println(teacher.getName()+"上课了,快醒醒");
                        }
                        System.out.println(student.getName()+"醒了,开始听课");       
                }
                else if(Thread.currentThread()==teacher)
                {
                        for(int i=0;i<3;i++)
                        {
                               
                                try
                                {
                                        Thread.sleep(100);
                                }
                                catch(InterruptedException e){}       
                                System.out.println("上课!");
                        }
                        student.interrupt();//叫醒student
                }
        }
       
}



class ClassDemo
{
        public static void main(String[] args)
        {
                ClassRoom room=new ClassRoom();
                room.student.start();
                room.teacher.start();
        }
}


作者: hejin67410    时间: 2015-9-14 18:33
谢谢分享
作者: 675355835    时间: 2015-9-14 19:40
nbbbbbbbbbbbb




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