首页 > 试题广场 >

下面程序的运行结果是:

[单选题]
下面程序的运行结果是:(    )
public static void main(String args[]) {

    Thread t = new Thread() {
           public void run() {
                pong();
           }
     };

    t.run();
    System.out.print("ping");
}

   static void pong() {
     System.out.print("pong");
    }

  • pingpong
  • pongping
  • pingpong和pongping都有可能
  • 都不输出
  • pong
  • ping
我选大D
发表于 2019-09-05 22:11:06 回复(3)
更多回答
t.run是调用的Thead类中的run()方法,t.start才是执行线程,所以这题就是执行普通run()方法,先输出pong,在输出ping。
发表于 2019-11-05 11:35:45 回复(6)
t.run直接执行代码,按顺序打印代码;
t.start是另起线程,与当前线程同时竞争cpu资源,结果存在不确定性
发表于 2020-03-04 12:36:04 回复(4)
并不是多线程竞争问题,就是正常执行,先执行t.run();跑线程方法输出"pong",再执行打印语句"ping"
retrun "pongping"
发表于 2019-09-10 20:51:20 回复(0)
1),Idea中的编译执行结果:

2)个人分析:
              ① 线程类的run()方法是Runnable接口的一个抽象方法,由java虚拟机直接调用的,不会创建的新线程;
              ②线程类的start()方法可以用来启动线程;该方***在内部调用Runnable接口的run()方法,以在单独的线程中执行run()方法中指定的代码;
               ③本题目中只调用了run()方法,未调用start()方法,相当于仅仅调用了Runnable接口中的一个抽象run()方法;
             ④综上分析,代码会按普通的执行顺序执行,先执行run()方法,打印 pong,再执行是                                System.out.print("ping")输出语句,打印 ping。
发表于 2020-03-03 11:47:12 回复(0)
线程的run()方法当作普通方法的方式调用。程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码
发表于 2019-06-13 14:12:54 回复(3)
我服了,我一看只有一个主方法,括号}多了一个,但是却没有class的{ 我就想编译报错,直接两个不输出
发表于 2020-08-18 19:29:21 回复(1)
我想问问大佬如果不是调用的run()而是调用start()该输出什么 ,我想的是都有可能但是,自己试永远输出pingpong
发表于 2019-11-21 14:15:51 回复(3)
t. run()是一个普通方法调用,由主线程执行,t. start()会开启子线程执行run()
发表于 2019-10-03 13:36:35 回复(1)
start()开始新线程,单独调用run只是调用run方法
发表于 2020-01-04 18:57:24 回复(0)
啥也不说了,排版牛逼
发表于 2020-03-07 19:10:24 回复(0)
调用run方法,没有启动新线程,相当于主线程调用run方法,按顺序执行
发表于 2022-07-19 11:42:47 回复(0)
涨芝士了
发表于 2022-02-14 20:04:02 回复(0)
静态方法,类加载的时候就运行了

发表于 2020-12-30 15:09:13 回复(2)
是我太纠结了,以为括号不匹配不能运行也……,告辞!!
发表于 2020-05-27 20:47:37 回复(0)
run只是一个普通方法,由启动线程完成。。只有start才是将新的线程放到cpu的任务就绪队列中
发表于 2020-04-01 19:33:22 回复(0)
线程没有开始执行,应该是顺序,那应该选A 呀?求解答
发表于 2019-09-06 22:30:52 回复(2)
start才是起线程,run不是,当做正常方法跑
发表于 2022-08-17 20:25:55 回复(0)
调用的是run()方法而不是start()方法,并没有开启新的线程啊
发表于 2021-01-02 21:36:12 回复(0)
其实是个单选,哈哈
发表于 2019-09-03 09:50:21 回复(1)