start() 方法会启动一个新线程,不可以重复调用,会报错,start方法的源码中,真正起作用的是本地方法start0。所以start的执行依赖本地操作系统。start方法中调用了run方法,新起一个线程执行run方法。run() 方法不会启动一个新线程。可以重复调用,run方法会继续通过上一个线程执行任务。