Thread类中的start()和run()方法有什么区别?
这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。
举一反三
- Thread类中的start()和run()方法有什么区别?() A: start()方法被用来启动新创建的线程 B: start()内部调用了run()方法 C: 当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程 D: 二者没有区别
- 在线程中(Thread类)的start()和run()方法有什么区别?() A: 直接调用run()方法只是在原来的线程中调用,没有创建新的线程 B: 只有调用start()才会创建新的线程 C: 当调用start()方法时会启动一个新创建的线程,然后在start()内部调用run()方法 D: 没有区别
- java Thread中,run方法和start方法的区别,下面说法错误的是()。 A: A B: B C: C D: D
- run()方法定义在( ) A: Thread类 B: Runnable接口 C: start()方法 D: reset()方法
- Thread类中启动线程体的方法是( ) A: start() B: resume() C: init() D: run()
内容
- 0
Thread类中能运行线程的方法是 。 A: resume() B: start() C: run() D: init()
- 1
下列哪个方法不是线程类Thread中定义的方法?() A: sleep() B: start() C: exit() D: run()
- 2
Thread类的哪个方法用来启动线程的运行?() A: run() B: start() C: begin() D: execute(Thread t)
- 3
关于线程的创建过程,下面四种说法正确的有哪些?(多选) A: 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法 B: 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法 C: 定义一个实现Runnable接口的类并实现run()方法,创建该类实例对,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法 D: 定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
- 4
下面哪几个方法是Thread类中过时的()。 A: stop B: resume C: yield D: start E: run