为什么调用的是.start()方法?明明写的.run()方法,而且调用run方法也可以正常使用
这是线程的使用方面的知识。run()方法里面的叫线程体,是在这个线程需要执行的具体逻辑,而start()方法是启动线程。我们调用start()方法启动这个线程,然后系统会自动调用run()方法去执行里面的逻辑。如果我们不调用start(),而调用run(),的确可以运行run()方法里面的逻辑,但是那是在当前线程执行的,没有新的线程被建立,也就不叫多线程了。你应该补充一下线程方面的基础知识。
从字面意思就可以理解,start就是开始,run就是运行。就好比一个机器,start就是一个开关,而run就是开关打开过后的运行效果,你可以通过打开开关来运行它,也可以直接运行它。不过我不清楚直接运行会不会有多线程的作用,你可以亲自试试。