• 2022-06-15
    Thread类中的start()和run()方法有什么区别?
  • 这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。

    内容

    • 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