校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 线程池
题目

下面程序的运行结果:()

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");

}


A. pingpong

B.pongping

C.pingpong和pongping都有可能

D.都不输出

解答

正确答案是 B

这里考的是Thread类中start()和run()方法的区别了。start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程,进而调用run()方法来执行任务,而单独的调用run()就跟调用普通方法是一样的,已经失去线程的特性了。因此在启动一个线程的时候一定要使用start()而不是run()。

C 1条回复 评论
知乎

非常详细, 非常清晰, 代码测试可用。 教科书级别

发表于 2022-07-03 22:00:00
0 0