比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /可运行和线程的区别

可运行和线程的区别

2018年1月25日发布的Lithmee

键差-可运行与线程

正在执行的程序称为过程.该流程可以分为多个子流程。例如,Microsoft Word是一个过程。同时,它会检查拼写错误和语法错误。这是一个子过程。这些子进程称为线程。多线程是同时执行多个线程的过程。线程应用程序可以使用不同的编程语言构建。可运行和线程与Java编程相关。有两种方法Java通过实现Runnable接口或扩展thread类来创建线程。在实现Runnable时,许多线程可以共享相同的线程对象,而在extends thread类中,每个线程都有一个惟一的对象与它相关联的。这是关键的区别可运行和线程之间。

内容

1.概述和主要区别
2.什么是可运行
3.什么是线程
4.可运行和线程之间的相似之处
5.并排比较-可运行线程与表格形式的线程
6.总结

运行的是什么?

线程经过一些状态。“new”是线程生命周期的开始。在新线程上调用start()方法之后,它就可以运行了。如果线程调度程序选择该线程,则该线程将过渡到运行状态。如果线程正在等待另一个线程执行任务,则该线程正在等待该状态。线程完成工作后,进入终止状态。

线程可以使用Runnable接口实现。参考下面的程序。

可运行和线程的区别

图01:使用Runnable接口创建线程的Java程序

根据上面的程序,类Runnable Demo实现了Runnable接口。run()方法位于实现Runnable接口的类内部。它是线程的入口点。逻辑在run()方法中。在主程序中,通过定义从Runnable Demo类实例化的对象来创建线程。这是t1。使用t1调用start()方法。

参考下面的程序。

可运行和thread_02的区别

图02:通过实现Runnable接口来创建执行循环的线程的Java程序

根据上面的例子,类Runnable Demo实现了Runnable接口。使用线程执行的逻辑写在run()方法中。在主程序中,通过定义从Runnable Demo类实例化的对象来创建线程。这是t1。然后,使用t1调用start()方法。

什么是线程?

创建线程的另一种方法是扩展thread类。它包括三个步骤。首先是声明类作为扩展Thread类。然后,应该编写run()方法。它有线程应该执行的步骤序列。最后,创建线程对象,并调用start()方法来启动线程的执行。参考下面的程序。

可运行和线程的区别_图03

图03:扩展Thread类的Java程序

根据上面的程序,MyThread类扩展了Thread类。它重写了run方法。run()方法包含线程要执行的逻辑。它是线程的入口点。然后创建线程对象。thread1。使用start()方法启动线程。它将执行对run()方法的调用。

下面是两个类扩展Thread类的示例程序。

可运行和线程之间的关键区别

图04:具有两个扩展Thread类的类的Java程序

根据上面的程序,类A和类B都是扩展Thread类。两个类都有run()方法的实现。主线程是执行main()方法的线程。在主线程失效之前,它创建并启动thread1和thread2。当主线程到达主方法的末尾时,三个线程并行运行。线程给出输出没有特定的顺序。一旦线程启动,就很难决定它们执行的顺序。他们独立运行。

可运行和线程之间有什么相似之处?

  • 两者都用于在Java中创建线程。

可运行和线程的区别是什么?

可运行和线程

Runnable是Java中的一个接口,用于创建一个允许多个线程共享同一个线程对象的线程。 线程是Java中的一个类,用于创建一个线程,其中每个线程都有一个与之关联的惟一对象。
内存
在Runnable中,多个线程共享同一个对象,因此需要较少的内存。 在Thread类中,每个线程创建一个惟一的对象,因此需要更多的内存。
扩展能力
实现Runnable接口后,它可以扩展类。 多个遗产在Java中不支持。在扩展了Thread类之后,它不能扩展任何其他类。
代码的可维护性
可运行的接口使代码更易于维护。 在Thread类中,维护是耗时的。

总结——可运行与线程

一个流程被划分为多个子流程,以同时执行多个任务。这些子进程称为线程。可以通过实现Runnable接口或扩展线程类来实例化线程。扩展Thread类很容易,但并不是更好面向对象编程练习。在实现Runnable时,许多线程可以共享相同的线程对象,而在扩展thread类时,每个线程都有一个与之关联的惟一对象。这就是可运行和线程之间的区别。在Thread类中,创建多个对象会消耗更多的内存。

下载可运行与线程的PDF

您可以下载本文的PDF版本,并根据引用说明将其用于离线用途。请在此下载PDF版本可运行和线程的区别

参考:

1. tutorialspoint.com。“Java多线程。”这一点,可以在这里
2. pramodbablad。“扩展线程Vs在Java中实现可运行。”Java概念日,2016年11月11日。可以在这里
3.如何在Java多线程中创建一个线程|核心Java教程|学习今晚。可以在这里

相关文章:

进程和线程的区别进程和线程的区别 信号量与互斥的区别 数组与链表的区别 传统测试与面向对象测试的区别 JAR和WAR的区别

了下:编程标记:比较可运行和线程,可运行的,可运行和线程的区别,可运行和线程的相似性,可运行的代码,可运行的定义,可运行内存,可运行的程序,可运行和线程,线程,线程的代码,线程的定义,线程的内存,线程程序

关于作者:Lithmee

Lithmee Mandula是计算机系统工程专业的荣誉工学学士毕业生。她目前正在攻读计算机科学硕士学位。她在写作和研究领域的兴趣包括编程、数据科学和计算机系统。

留下一个回复取消回复

您的电邮地址将不会公布。必填项已标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒和流感的区别

冠状病毒和流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

热力学中宏观与微观的区别是什么

热力学中宏观与微观的区别是什么

花青素和花黄素的区别是什么

花青素和花黄素的区别是什么

周期波和累进波的区别是什么

周期波和累进波的区别是什么

寓言与寓言的区别

碳氢化合物和碳水化合物的区别

最新的文章

  • Tecfidera和Vumerity的区别是什么
  • 变构调制和共价调制的区别是什么
  • 带绦虫病和囊虫病有什么区别
  • 阿斯巴甜和糖精的区别是什么
  • 白血病和白细胞减少症的区别是什么
  • 组织胞浆虫病和弓形虫病有什么区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.