1.方法启动线程,真正实现了多线程。此时不需要等待run方法体代码执行完毕,直接继续执行以下代码:调用thread类的start()方法启动线程。此时,线程处于就绪状态,不会运行。然后,thread类调用run()方法来完成其操作。这里,run()方法称为线程体,它包含要执行的线程的内容。run方法结束时,线程终止,
区别:调用start方法实现多线程,调用run方法实现多线程。启动:用start方法启动线程,实现多线程。此时,不需要等待run方法体代码完成执行,而是直接继续执行下面的代码。通过调用thread类的start()方法来启动线程。此时,线程处于就绪(可运行)状态,不会运行。一旦获得spu时间片,就会执行run()方法。这里,run()方法称为线程体,它包含要执行的线程的内容。run方法完成后,线程将立即终止。运行:运行()方法只是类的一个常用方法。如果直接调用run方法,则程序中仍然只有一个主线程,其程序执行路径仍然只有一个,或者需要按顺序执行,或者需要等待run方法体执行完毕后才能继续执行下面的代码。这样,就达不到写线程的目的。结论:可以通过调用start方法来启动线程,而run方法只是线程的一个常用方法调用,在主线程中执行。