多线程start()方法与run()方法的区别
如果我们直接使用Thread执行run()方法的话,就不可以做到多线程的目的,因为run()方法是Thread类的一个普通方法,我们直接调用run()方法,这时候它会运行在我们主线程中,由于我们程序中只有主线程一个线程,所以如果有两个线程都是直接调用run()方法,那么他们的执行顺序一定是按顺序执行,一个线程的run()方法里的代码全部执行完毕之后,另一个线程才可以执行run()里面的代码,并没有做到多线程并行的目的。使用start()方法开启线程,就不需要等待另一个完成才执行,不同的线程的run()方法里面的代码交替执行,所以他们是可以并行执行。