1、每个线程都是通过某个特定Thread对象所对应的方法 run()来完成其操作的,run()方法称为线程体。通过调用 Thread类的start()方法来启动一个线程。
2、start()方法用于启动线程,run()方法用于执行线程的运行时代码。run()方法可以重复调用,而start()方法只能调用一次。
3、start()方法来启动一个线程,真正实现了多线程运行。调用start()方法无需等待run()方法体代码执行完毕,可以直接继续执行其他的代码;此时线程是处于就绪状态,并没有运行。然后通过此Thread类调用方法run()来完成其运行状态,run()方法运行结束,此线程终止。然后CPU再调度其它线程。
4、run()方法是在本线程里的,只是线程里的一个函数,而不是多线程的。如果直接调用run(),其实就相当于是调用了一个普通函数而已,直接调用run()方法必须等待run()方法执行完毕才能执行下面的代码,所以执行路径还是只有一条,根本就没有线程的特征,所以在多线程执行时要使用start()方法而不是run()方法。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.