首先我们先来写一个程序,看看运行的结果
先使用run方法:
输出为:
可以看出,不管是主方法还是其他的方法,在run方法下执行的线程都是用主线程去执行。
而start方法:
我们可以看出,线程被切换了,不是主线程去执行非main的方法了:
原理如下
总结:
1. 调用start方法会创建一个新的子线程并且启动。
2. run方法只是一个Thread普通方法的调用。
首先我们先来写一个程序,看看运行的结果
先使用run方法:
输出为:
可以看出,不管是主方法还是其他的方法,在run方法下执行的线程都是用主线程去执行。
而start方法:
我们可以看出,线程被切换了,不是主线程去执行非main的方法了:
原理如下
总结:
1. 调用start方法会创建一个新的子线程并且启动。
2. run方法只是一个Thread普通方法的调用。