Thread的start()和run()的区别

1.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码:

通过调用Thread类的start()方法来启动一个线程,
这时此线程是处于就绪状态,
并没有运行。
然后通过此Thread类调用方法run()来完成其运行操作的,
这里方法run()称为线程体,
它包含了要执行的这个线程的内容,
Run方法运行结束,
此线程终止,
而CPU再运行其它线程,

2.run()方法当作普通方法的方式调用,程序还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码:

而如果直接用Run方法,
这只是调用一个方法而已,
程序中依然只有主线程--这一个线程,
其程序执行路径还是只有一条,
这样就没有达到写线程的目的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,924评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 这两天总有老师问我,我是做什么的,在这里我告诉大家我是一名工程师,而且是工程师里的菜鸟。报名参加培训不是我的...
    姚春燕阅读 342评论 2 3
  • 文:飘扬的海 曾经害怕变老害怕寂寞 害怕容颜如春花般逝去所以爱惜自己 害怕离开熟悉的象牙塔去到外面那是个精彩而现实...
    飘扬的海阅读 216评论 0 2
  • 辞职远行,金钱永远都是现实的问题。 我永远也不会在没有钱的情况下去远行,更不可能在没有任何底气的前提辞职,为了一次...
    哈哈巧克力阅读 263评论 0 1