为什么Java中实现多线程的方式有两种?

原创 2014年11月23日 20:56:44

在面试的过程中,我们经常问被面试者,为什么Java中实现多线程的方式有两种(一种是直接继承Thread类,一种是实现Runnable接口)?可惜的是,很多面试者都答不出来,甚至从来没有想为什么.,那么真正的原因是什么呢?我们可以用反证法推理一下:

假设Java只提供Thread供大家继承从而实现多线程,考虑下面的一个需求,如果有一个已经继承了某个父类的类,但是这个类又想实现多线程,怎么办?很显然,如果只提供一个可以继承的类,肯定解决不了这个问题。那么,如何解决,毫无疑问,就只能使用接口了。


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java中两种多线程实现方式的区别

在程序开发中用到多线程,正统的方法是使用Runnable接口,相比继承Thread类,Runnable接口有以下两点好处: 1、避免单继承机制的局限,一个类可以实现多个接口 2、适用于资源的共享 下面...
  • june_ruikang
  • june_ruikang
  • 2016年02月26日 21:00
  • 656

JAVA多线程实现的三种方式

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没...
  • aboy123
  • aboy123
  • 2014年07月31日 18:34
  • 451807

Java中实现多线程的两种方式之间的区别

【原文地址 点击打开链接】 原文地址:http://www.cnblogs.com/gw811/archive/2012/10/15/2724882.html  Java提供了线程类Thr...
  • wenyiqingnianiii
  • wenyiqingnianiii
  • 2016年10月04日 15:09
  • 2804

有两种实现多线程的方式以及两种方式之间的区别

Java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢?          为了回答这个问题,我们可以通过编写...
  • u013449800
  • u013449800
  • 2014年08月22日 18:40
  • 3962

多线程实现的两种方式及其区别

继承Threadpublic class Demo2_Thread { public static void main(String[] args) { MyThread mt ...
  • StriverLi
  • StriverLi
  • 2017年02月26日 21:07
  • 1636

java多线程编程的两种方式

上一篇文章讲了多线程的同步但是发现好多同学对多线程的如何编程有点疑惑,今天根据网上的一些资料和方法来简单根据我之前的示例代码来演示一些,多线程编程实现的两种方法: 1、定义类继承thread类并且重写...
  • zfszhangyuan
  • zfszhangyuan
  • 2016年09月12日 10:45
  • 2797

java实现线程的两种方法有什么区别?

如果一个类通过继承Thread来实现多线程的话,则不适合多个线程共享资源,而通过实现Runnable就可以做到这一点,下面给lz举个例子: Java code class MyTheard ext...
  • u010572068
  • u010572068
  • 2013年07月03日 21:52
  • 1350

Java中实现多线程的两种方式

Java中实现多 Java中对于对于多线程的实现主要提供了两种方法 继承 Thread()类 实现Runnable接口 接下来从这两个方面进行说明相关知识。继承 Thread()类写一个类直接继承 T...
  • zjq_1314520
  • zjq_1314520
  • 2017年10月22日 23:46
  • 241

Java多线程实现的两种方式

Java多线程实现方式:1.实现Runnable接口2.继承Thread类,虽然是比较基础的知识点,作为学习记录写下来,高手略过! 1.实现Runnable接口 1) RunnableDemo类 pa...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年05月05日 08:45
  • 436

Java中线程的创建有两种方式

Java中线程的创建有两种方式:   1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类  ...
  • qq_20302155
  • qq_20302155
  • 2016年06月02日 11:15
  • 848
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么Java中实现多线程的方式有两种?
举报原因:
原因补充:

(最多只允许输入30个字)