A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ELine 中级黑马   /  2015-1-7 20:59  /  1265 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        public static void main(String[] args) {
                new Thread(){
                        @Override
                        public void run() {
                                super.run();
                                for (int i = 0; i < 100; i++) {
                                        System.out.println("Thread run");
                                }
                        }
                }.start();
                for (int i = 0; i < 100; i++) {
                        System.out.println("main run");
                }
        }

加入main函数先输出这100次,main函数会先结束吗!!

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 淡定

查看全部评分

6 个回复

倒序浏览
应该由cpu决定吧 两种情况都有 拷下来试试
回复 使用道具 举报
看cpu的调试,如果在run方法里sleep一定的时间,main方法会先跑完。
回复 使用道具 举报
huduzhi 发表于 2015-1-8 01:46
看cpu的调试,如果在run方法里sleep一定的时间,main方法会先跑完。

main函数不是主函数吗,不用等待所有函数运算完才能结束的吗
回复 使用道具 举报
这种事得问CPU啊,这谁能说的准呢!
回复 使用道具 举报
我觉得这样觉得的: 不一定的,在这里有两个线程分别为主线程还有new Thread(), 两个线程交替执行,谁先执行完,需要看操作系统的调度 看哪个线程的到执行权比较多。
回复 使用道具 举报
lwj123 发表于 2015-1-8 14:40
我觉得这样觉得的: 不一定的,在这里有两个线程分别为主线程还有new Thread(), 两个线程交替执行,谁先执 ...

主线程不是要处理一些什么垃圾回收等操作么,不是一定最后结束的吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马