class ok extends Thread 

Thread teacher,student; 
public ok() 

teacher=new Thread(); 
student=new Thread(); 
teacher.setName("王教授"); 
student.setName("王小鸭");} 
public void run() 
{  System.out.println("在睡觉dfgdfgdfgd"); 

if(Thread.currentThread()==student) 

System.out.println(student.getName()+"在睡觉"); 
try{ Thread.sleep(1000); 

catch(InterruptedException e){ 

System.out.println("OK叻,醒叻"); 

else if(Thread.currentThread()==teacher) 

for(int i=0;i<3;i++) 

System.out.println("上课"); } student.interrupt(); 

else System.out.println("在睡觉dfgdfgdfgd"); 

//public void start(){run();}}
public class hh{
public static void main(String arg[]) 

ok OK=new ok(); 
OK.student.start(); 
OK.teacher.start(); 
System.out.println(OK.getName()+"sdf"+Thread.currentThread()+"");

}

解决方案 »

  1.   

    你自己看看  你启动什么线程了??
    student和teacher都是Thead而已,并不是你自己写的类,那里的run就是空的
    你OK.start()看看就知道了
      

  2.   

    我知道你们想要实现的东西,帮你改下你就会清楚怎么回事了
    class ok implements Runnable
    {
    Thread teacher,student;
    public ok()
    {
    teacher=new Thread(this);
    student=new Thread(this);
    teacher.setName("王教授");
    student.setName("王小鸭");}
    public void run()
    {  System.out.println("在睡觉dfgdfgdfgd");if(Thread.currentThread()==student)
    {
    System.out.println(student.getName()+"在睡觉");
    try{ Thread.sleep(1000);
    }
    catch(InterruptedException e){
    }
    System.out.println("OK叻,醒叻");
    }
    else if(Thread.currentThread()==teacher)
    {
    for(int i=0;i <3;i++)
    {
    System.out.println("上课");}student.interrupt();
    }
    else System.out.println("在睡觉dfgdfgdfgd");
    }
    //public void start(){run();}}
    public class hh{
    public static void main(String arg[])
    {
    ok OK=new ok();
    OK.student.start();
    OK.teacher.start();
    System.out.println(OK.getName()+"sdf"+Thread.currentThread()+"");
    }
    } 我没调试,你们自己调试看看吧
      

  3.   

    线程还没学到,哎 学到GUI就烦人,呵呵,慢慢磨一下吧
      

  4.   

    可以了,不过这个用继承Thread方法实现又该责任那么写呢?高手帮忙啊?首先很感谢你!
      

  5.   

    你new自己就行咯,要用到谁就找谁啊,找他老爸有什么用啊