start()与run()方法的区别
start():
启动一个线程。
通过start()启动的新线程,处于就绪(可运行)状态,并没有运行.
start()不能被重复调用。
使用start()方法启动线程,不需要等到某线程的run()方法执行完毕,就直接执行后面的代码,真正实现了多线程。
run():
和普通的成员方法一样,可以被重复调用。
如果直接调用run()方法,并不会启动线程,程序中依然只有主线程一个线程,还是要按顺序执行,等run()方法里面的方法体执行完后,才能继续执行后面的代码,并没有达到多线程的目的。