启动线程方法 start ()和 run ()有什么区别

这篇具有很好参考价值的文章主要介绍了启动线程方法 start ()和 run ()有什么区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Java中,线程可以通过调用start()方法或者直接调用run()方法来执行。这两种方式有着重要的区别:

  1. start() 方法:
  • 当你调用线程的start()方法时,它会使线程进入就绪状态,等待系统调度。系统会为该线程分配资源,并在合适的时机执行线程的run()方法。
  • 实际上,start()方法会启动一个新的系统级线程,该线程会并行执行,并与主线程同时运行。
  • 使用start()方法可以充分利用多核处理器,允许多个线程同时执行。
  • start()方法内部会完成一些线程初始化工作,如调用run()方法、分配线程栈空间等。
  1. run() 方法:
  • 直接调用线程的run()方法,不会创建新的线程,而是在当前线程中执行run()方法的代码块。
  • 虽然run()方法内的代码会被执行,但是由于是在主线程中执行,没有实现真正的多线程并行,只是普通的方法调用。
  • 使用run()方法不会开启新的线程,因此适用于在当前线程内执行一个任务,而不是并发执行。

下面是一个简单的示例来说明这两种方法的区别:文章来源地址https://www.toymoban.com/news/detail-680476.html

class MyThread extends Thread {
    public void run() {
        for (int i

到了这里,关于启动线程方法 start ()和 run ()有什么区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 之 Start 与Update 方法的区别

    Start 方法: Start 方法在脚本所附加的游戏对象被激活后,仅会在第一帧渲染之前被调用一次。它适用于进行一次性的初始化设置和准备工作。如果游戏对象被多次禁用再激活, Start 方法仍然只会在首次激活时被调用。 适用场景: 在 Start 方法中,您可以进行一次性的初始化

    2024年02月11日
    浏览(34)
  • 什么是线程?为什么需要线程?和进程的区别?

    目录 前言 一.线程是什么? 1.1.为什么需要线程 1.2线程的概念 1.3线程和进程的区别  二.线程的生命周期 三.认识多线程 总结 🎁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主 🎥 本文由 tq02 原创,首发于 CSDN🙉 🎄 本章讲解内容: 线程的讲解 🎥学习专栏:

    2024年02月14日
    浏览(86)
  • JavaEE 初阶篇-深入了解进程与线程(常见的面试题:进程与线程的区别)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录         1.0 进程概述         2.0 线程概述         2.1 多线程概述         3.0 常见的面试题:谈谈进程与线程的区别         4.0 Java 实现多线程的常见方法         4.1 实现多线程方法 - 继承

    2024年04月13日
    浏览(48)
  • 什么是多线程?进程和线程的区别是什么?如何使用Java实现多线程?

    前面我们了解了什么是进程以及如何实现进程调度,那么今天我将为大家分享关于线程相关的知识。在学习线程之前,我们认为进程是操作系统执行独立执行的单位,但其实并不然。线程是操作系统中能够独立执行的最小单元。只有掌握了什么是线程,我们才能实现后面的并

    2024年02月13日
    浏览(41)
  • 多线程的优点是什么?如何创建和启动一个线程?线程的状态有哪些?什么是线程安全?

    多线程的优点包括: 提高程序的执行效率:多线程可以同时执行多个任务,充分利用CPU资源,提高程序的整体执行效率。 提高系统的响应速度:多线程可以将耗时的任务放在后台执行,使得用户界面保持流畅,提高系统的响应速度。 提高系统的可靠性:多线程可以将任务分

    2024年02月15日
    浏览(62)
  • 【Java面试题】线程创建的三种方式及区别?

    继承Thread类,子类重写run()方法,调用子类的strat()启动线程。 实现Runnable接口,实现run()方法,调用对象start()启动线程。 实现Callable接口,实现call()方法,用FutureTask()封装实现类。使用FutureTask对象作为Thread对象调用start()启动线程,调用FutureTask对象的get()

    2024年02月12日
    浏览(50)
  • 线程和进程的区别是什么?

    线程(Thread)和进程(Process)是操作系统中两个重要的概念,用于管理程序的执行。它们有以下区别: 定义: 进程:进程是程序的一个执行实例,它包含了程序的代码、数据以及执行上下文。进程是操作系统分配资源和调度的基本单位。 线程:线程是进程的子执行单元,一

    2024年02月11日
    浏览(37)
  • 【多线程进阶】信号量,线程安全集合类,Hashtable与ConcurrentHashMap的区别,多线程常见的面试题

    前言: 大家好,我是 良辰丫 ,今天学习多线程最后一节内容,我们主要去了解信号量,线程安全集合类,Hashtable与ConcurrentHashMap的区别,多线程常见的面试题,我们需要重点去掌握,💞💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,

    2023年04月27日
    浏览(53)
  • 【JavaEE】什么是多线程?进程和线程的区别是什么?如何使用Java实现多线程?

    前面我们了解了什么是进程以及如何实现进程调度,那么今天我将为大家分享关于线程相关的知识。在学习线程之前,我们认为进程是操作系统执行独立执行的单位,但其实并不然。线程是操作系统中能够独立执行的最小单元。只有掌握了什么是线程,我们才能实现后面的并

    2024年02月09日
    浏览(52)
  • ⛳ 多线程面试-什么是多线程上下文切换?

    多线程会共同使用一组计算机上的CPU ,而线程数大于给线程分配的 CPU 数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。 不同的线程切换使用 CPU, 发生的切换数据等, 就是上下文切换 在上下文切换过程中, CPU 会停止处理当前运行的程序, 并保存当前程序运行的具

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包