start启动线程
run只是一个方法,调用方法而已,没启动线程

解决方案 »

  1.   

    start()方法启动该线程;
    run()方法需要覆盖,自己定义该线程中做的事情。
      

  2.   

    start() 方法启动线程 但是一个线程调用了start()并不表明线程马上执行,它需要等待CPU进程调度机制
    run() 是表示线程的运行,是线程对象的一个方法,里面是具体的线程实现逻辑,所以 一个线程调用start() 只是启动了线程,或许在某一个等待队列中,并不表示线程运行,只有当调用run 的时候才表示线程的运行状态。这就是区别。
      

  3.   

    从字面上理解,就像跑步一样,start只是开始而已,让别人知道你已经准备好,但要真正运行起来还要run起来,至于在run的过程中你想让它干什么,就在里面实现