1:Thread不能实现线程之间变量资源共享,Runnable则可以
2:Thread是类(是类当然就是单继承),Runnable是接口(接口可以多实现)
Thread
//使用Thread实现线程不能实现资源共享 class MyThread extends Thread { private int ticket=5; private String name; public MyThread(String name ){ this.name=name; } public void run(){ for(int i=0;i<10;i++){ if(ticket>5){ System.out.println("线程"+name+"卖票"+i); } } } } public class ThreadDemo02 { public static void main(String args[]){ // 这里我们new了线程A,B是两个实例,所以不能实现资源(ticket)共享 MyThread A = new MyThread("A"); MyThread B = new MyThread("B"); A.start(); B.start(); } }
Runnable
//使用Runnable实现线程可以实现资源共享 class MyThread implements Runnable { private int ticket=5; private String name; public MyThread(String name){ this.name=name; } public void run(){ for(int i=1;i<=10;i++){ if(ticket>0){ System.out.println("线程"+name+"卖票"+(ticket--)); } } } } public class RunnableDemo02 { public static void main(String args[]){ MyThread A = new MyThread("A"); //实例化线程要执行的任务 Thread Ta = new Thread(A); //实例两个线程对象,实际传递的是一个任务 Thread Tb = new Thread(A); //因为两个线程执行的是一个任务,所以资源(ticket)是共享的 Ta.start(); Tb.start(); } }
以下文章可以进行详细参考:
http://blog.csdn.net/edmond999/article/details/45073329
相关推荐
Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的基类,它提供了 run() 方法,该方法是...
Java提供了两种创建线程的方式:继承Thread类和实现Runnable接口。 1. 继承Thread类创建线程: 当你选择继承Thread类时,你需要创建一个新的类,这个类扩展自Thread类。Thread类已经实现了Runnable接口,所以你不...
### 多线程的Runnable与Thread的区别 在Java中实现多线程有两种主要方式:一种是继承`Thread`类;另一种是实现`Runnable`接口。本文将深入探讨这两种方法的区别,帮助初学者更好地理解并选择适合场景的多线程实现...
进程与线程的区别** - **进程**:是一个正在执行的程序实例,具有独立的地址空间和资源。每个进程都包括一个或多个线程。 - **线程**:是进程内的执行单位,是最小的调度单元。同一进程内的线程共享相同的地址空间...
详解Java中Thread和Runnable区别 Java中Thread和Runnable是两个不同的概念,它们都是Java中的线程机制,但是它们之间有着本质的区别。 Thread是Java中的一个类,而Runnable是一个接口。Thread类实现了Runnable接口...
在Java编程语言中,多线程的实现有多种方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景,理解它们之间的区别对于编写高效、可维护的多线程应用至关重要。 ### 继承...
总结来说,Java中的`Thread`类和`Runnable`接口提供了两种创建多线程的方式,它们都可用于实现阶乘计算。理解这些基础概念是进行并发编程的关键,也是提升程序效率的重要手段。在实际应用中,应根据项目需求和最佳...
Java 多线程 Thread 与 Runnable 的区别 Java 多线程技术是 Java 语言中的一种基础技术,用于实现多任务并发执行的功能。在 Java 中,实现多线程有两种方法:继承 Thread 类和实现 Runnable 接口。在本文中,我们将...
Thread 和 Runnable 是实现 Java 多线程的两种方式,Runnable 是接口,Thread 是类,建议使用 Runnable 实现 Java 多线程,不管如何,最终都需要通过 thread.start() 来使线程处于可运行状态。 Thread 的 start 和 ...
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
总结来说,Java中实现多线程可以通过继承`Thread`或实现`Runnable`接口。继承`Thread`适合那些需要扩展`Thread`类功能的情况,而实现`Runnable`接口则更灵活,适用于不希望受到单继承限制的场合。无论哪种方式,都...
在Java中,实现多线程的两种主要方式分别是:**通过继承`Thread`类** 和 **实现`Runnable`接口**。下面将详细介绍这两种方式,并提供相应的示例程序。 #### 一、通过继承`Thread`类实现多线程 在Java中,可以通过...
在Java编程语言中,创建线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。...
这是一道面试题,创建多线程时,使用继承Thread类和实现Runnable接口有哪些区别呢? 一、Thread 先来看看Thread类和其中的start()方法 class Thread implements Runnable{.....} // 可见,Thread类实现了Runnable...
`Runnable`接口是Java实现多线程的一种方式,通过实现`Runnable`接口并创建`Thread`对象,可以轻松地创建并运行多线程。`TestRunnable.java`文件展示了这一过程,同时也提醒我们在实际开发中要注意线程同步和通信,...
在第二种方法中,由于3个Thread对象共同执行一个Runnable对象中的代码,因此可能会造成线程的不安全,比如可能ticket会输出-1(如果我们Syste
本篇文章将深入探讨两种实现多线程的方式:继承`Thread`类和实现`Runnable`接口,并分析它们之间的区别。 首先,让我们了解这两种方式的基本概念: 1. **继承Thread类**:这是创建多线程的直接方式,通过创建一个...
在一个线程中求100以内的偶数,求出一个偶数后休眠一个随机时间在(1-300毫秒之间).在另一个线程中求奇数,求出一个奇数后也休眠一个随机时间(1-300毫秒之间).输出数据时应有提示,指明是哪个线程输出的数据 用实例...
1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两... 使用继承Thread类方式和实现Runnable接口两种方式实现。