每个线程都有要执行的任务.线程的任务处理逻辑可以在Tread类的run实例方法中直接实现或通过该方法进行调用,因此 run()相当于线程的任务处理逻辑的入口方法,它由Java虚拟机在运行相应线程时直接调用,而不是由应用代码进行调用. 而start()的作用是启动相应的线程.启动一个线程实际是请求Java虚拟机运行相应的线程,而这个线程何时能够运行是由线程调度器决定的.start()调用结束并不表示相应线程已经开始运行,这个线程可能稍后运行,也可能永远也不会运行. 下面看一个例子: 1 /** 2…