我不确定问题到底是什么,但是由于某种原因,我无法从两个类中获取线程来同时运行。我可以从一个类中同时运行多个线程,但是当我尝试启动另一个类时,什么也没有发生。

public professor(){
    prof = new Thread();
    prof.start();
    System.out.println("Prof has started1");
}

public void run(){
    try{
        System.out.println("Prof has started2");
        prof.sleep(600);
        //do more stuff
}
    catch(Exception e){
        System.out.println("Prof error");
    }


这就是我开始第二堂课的方式,第一堂课以完全相同的方式开始并且运行良好。但是,在该类中显示“教授已开始1”,但第二个从不显示。
我想念什么吗?

最佳答案

我认为这是原因

prof = new Thread();
prof.start();


此代码永远不会调用您自己的run()方法,如果您的类实现了runnable接口,则应这样做

prof = new Thread(this)
prof.start()`

09-11 18:12