课程
/后端开发
/Java
/深入浅出Java多线程
如图所示,为什么我的程序执行结果控制台出不来?
2016-12-27
源自:深入浅出Java多线程 2-3
正在回答
问题在main方法中的第一句
Thread actorThread = new Thread(); 改为
Thread actorThread = new Actor(); 就可以了,其他的都没问题。
因为实例化(new)的是你创建的类Actor,才能让它的对象actorThread调用start方法启动线程。至于前面的Thread是Thread还是Actor,这里暂时都没有关系,因为Thread是你创建的Actor的父类,用Thread就是多态性里的向上转型,没有问题的。
在main()方法中这样写才对;
Actor actorThread = new Actor();
actorThread .setName(" ");
actorThread.start();
我真的不知道你到底有没有接触过java,
public static void main中static和void中间只能有一个空格,不能是两个甚至多个
举报
带你一起深入浅出多线程,掌握基础,展望进阶路线
3 回答为什么不调用run方法
1 回答这个类下面的方法不是void run()么,为什么要用.start()来调用呢???
2 回答子线程执行结束之后才能main方法的结束舞台输出吗?线程不应该是抢占资源吗?为什么没加入join,程咬金最后执行,其他线程也没调用join但是在结束前执行完毕
2 回答Boolean 值为什么定义的位置不一样,一个在run方法外,一个在方法里面
2 回答run()方法为什么用while循环而不用if