键差-可运行与线程
正在执行的程序称为过程.该流程可以分为多个子流程。例如,Microsoft Word是一个过程。同时,它会检查拼写错误和语法错误。这是一个子过程。这些子进程称为线程。多线程是同时执行多个线程的过程。线程应用程序可以使用不同的编程语言构建。可运行和线程与Java编程相关。有两种方法Java通过实现Runnable接口或扩展thread类来创建线程。在实现Runnable时,许多线程可以共享相同的线程对象,而在extends thread类中,每个线程都有一个惟一的对象与它相关联的。这是关键的区别可运行和线程之间。
内容
1.概述和主要区别
2.什么是可运行
3.什么是线程
4.可运行和线程之间的相似之处
5.并排比较-可运行线程与表格形式的线程
6.总结
运行的是什么?
线程经过一些状态。“new”是线程生命周期的开始。在新线程上调用start()方法之后,它就可以运行了。如果线程调度程序选择该线程,则该线程将过渡到运行状态。如果线程正在等待另一个线程执行任务,则该线程正在等待该状态。线程完成工作后,进入终止状态。
线程可以使用Runnable接口实现。参考下面的程序。
根据上面的程序,类Runnable Demo实现了Runnable接口。run()方法位于实现Runnable接口的类内部。它是线程的入口点。逻辑在run()方法中。在主程序中,通过定义从Runnable Demo类实例化的对象来创建线程。这是t1。使用t1调用start()方法。
参考下面的程序。
根据上面的例子,类Runnable Demo实现了Runnable接口。使用线程执行的逻辑写在run()方法中。在主程序中,通过定义从Runnable Demo类实例化的对象来创建线程。这是t1。然后,使用t1调用start()方法。
什么是线程?
创建线程的另一种方法是扩展thread类。它包括三个步骤。首先是声明类作为扩展Thread类。然后,应该编写run()方法。它有线程应该执行的步骤序列。最后,创建线程对象,并调用start()方法来启动线程的执行。参考下面的程序。
根据上面的程序,MyThread类扩展了Thread类。它重写了run方法。run()方法包含线程要执行的逻辑。它是线程的入口点。然后创建线程对象。thread1。使用start()方法启动线程。它将执行对run()方法的调用。
下面是两个类扩展Thread类的示例程序。
根据上面的程序,类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教程|学习今晚。可以在这里
留下一个回复