理解run与start方法

在多线程使用过程中run方法与start方法是两个重要方法,那么这两个方法有什么区别,如何理解这两个方法呢?

start方法

  • 用来启动线程的方法,属于Thread类。
  • 调用start方法之后,无需等待run方法体代码执行完毕,直接继续执行主线程下面的代码。
  • 调用start方法启动一个线程,此时线程会处于就绪状态,并没有运行,一旦得到cpu时间片,就会开始执行线程的run方法,这里的run方法被称为线程体,它包含了要执行的线程的内容,run方法运行结束,线程随即终止。

run方法

  • run方法是类的一个普通方法。
  • 直接调用run方法,程序依旧在主线程中运行,并不会启动线程。
  • run方法必须是public访问权限,返回值为void的普通方法。