Thread类和Runnable接口有什么区别?
抽象类和接口的区别:
①在类来继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。
②在接口中无成员变量,而抽象类中可有成员变量。
③一个类可以实现多个接口,但只能继承一个抽象父类。
Java中引进接口主要是为了解决多继承的问题。
实现多线程主要 继承Tread类 和 实现Runnable接口。
<1> Runnable接口
class test implements Runnable{
public void run() {
// TODO 自动生成方法存根
for(int i=1;i<=200;i++)
{
System.out.println(i);
}
}
}
public class testRunnable {
public static void main(String args[])
{
test tr=new test();
//tr.run();
/*
* 采用 tr.run() 方法 为手动调用 runnable
*输出 结果并不会 出现交错 现象
*先执行完tr然后 在执行main()中的循环输出
*/
///采用tread 方法
Thread t=new Thread(tr);
t.start();
for(int i=10;i<200;i+=10)
{
System.out.println("main"+i);
}
}
}
// 这种方法 讲出现输出结果交替 线程的同步 循环时间必须比较长 才会有这个效果
/* 部分结果代码:
....
64
main140
65
main150
66
main160
main170
main180
67
..... */
<2>继承Thread类 (extends Thread)
class TestThread extends Thread{
public void run()
{
for(int i=0;i<1000;i++)
{
System.out.println(i);
}
}
}
public class Test {
public static void main(String args[])
{
TestThread tt=new TestThread();
tt.start();
for(int i=0;i<1000;i++)
{
System.out.println("main"+i);
}
}
}
//// 线程的同步 出现结果交错输出 呈无规律性
/*。。。局部代码
main0
0
main1
1
main2
2
main3
3
main4
main5
main6
main7
。。。
*/
分享到:
相关推荐
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。
Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的基类,它提供了 run() 方法,该方法是...
java.Thread类与Runnable接口(处理方案示例).md
总结来说,Java中的`Thread`类和`Runnable`接口提供了两种创建多线程的方式,它们都可用于实现阶乘计算。理解这些基础概念是进行并发编程的关键,也是提升程序效率的重要手段。在实际应用中,应根据项目需求和最佳...
在 Java 中,创建线程有两种方式:继承 Thread 类和实现 Runnable 接口。这些方式都可以用来创建线程,但它们之间有着一些关键的区别。 继承 Thread 类 继承 Thread 类是 Java 中创建线程的一种方式。这种方式下,...
1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两... 使用继承Thread类方式和实现Runnable接口两种方式实现。
如果需要更多的线程生命周期控制和类结构的灵活性,建议使用`Runnable`接口。反之,如果需要直接访问`Thread`类的其他特性,并且不存在继承冲突,可以选择继承`Thread`类。总之,理解和合理运用这两种多线程实现方式...
Thread类和Runnable接口是Java中的两个不同的概念,它们之间有着本质的区别。在选择使用Thread类或Runnable接口时,我们需要根据需要和实际情况进行选择,并注意线程安全问题。 知识点总结: * Thread类是Java中的...
Java提供了两种主要的方式来创建线程:继承Thread类和实现Runnable接口。本篇文章将深入探讨通过实现Runnable接口来创建线程的方法,以及这种方式相比于直接继承Thread类的优势。 首先,我们来看Runnable接口。在...
Java提供了两种创建线程的方式:继承Thread类和实现Runnable接口。 1. 继承Thread类创建线程: 当你选择继承Thread类时,你需要创建一个新的类,这个类扩展自Thread类。Thread类已经实现了Runnable接口,所以你不...
在Java编程语言中,创建线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。...
Java中的线程创建方式有多种,其中使用Runnable接口创建线程是一种最常用的方式。本文将详细介绍Java Runnable接口创建线程的相关知识点。 什么是Runnable接口 Runnable接口是Java语言中用于创建线程的接口。该...
1. 什么是Runnable接口: 1.1 介绍Runnable接口 1.2 与Thread类的对比 2. 创建线程的方式: 2.1 继承Thread类 2.2 实现Runnable接口 3. 实现Runnable接口: 3.1 实现步骤 3.2 优点与用途 4. 启动线程: 4.1 使用...
在Java中,实现多线程的两种主要方式分别是:**通过继承`Thread`类** 和 **实现`Runnable`接口**。下面将详细介绍这两种方式,并提供相应的示例程序。 #### 一、通过继承`Thread`类实现多线程 在Java中,可以通过...
使用`Thread`类或者实现`Runnable`接口都可以达到这个目的。同时,理解线程同步和并发控制也很重要,防止多个线程同时修改时间导致的数据不一致。 3. **用户界面设计**:时钟程序通常需要一个用户友好的界面来展示...
在Java中,线程可以通过Thread类或Runnable接口来实现。 Runnable接口是Java.lang包中的一部分,它定义了一个run()方法,该方法将被线程执行。Runnable接口的特点包括: * 只有一个run()方法 * 需要创建一个Thread...
- **创建Runnable接口的实现类**:定义一个类,实现`Runnable`接口,并重写`run()`方法,这里的`run()`方法包含线程执行的具体逻辑。 - **创建Runnable实现类的实例**:通过实例化这个实现类,为后续创建`Thread`...
继承`Thread`类的方法简洁明了,但在Java中不建议过度使用继承,尤其是为了实现多线程的目的。相比之下,实现`Runnable`接口的方式更加灵活,适用于大多数情况,特别是当一个类已经继承了另一个类的情况下。 #### ...
起新线程需要new一个Thread对象,将实现Runnable接口的类作为Thread构造器参数。这样才能实现起新线程。 输出效果如下所示,main是一个线程、Runner 是另一个线程。 main Thread:------0 Runner Thread:------0 ...
在 Java 中,实现多线程有两种方法:继承 Thread 类和实现 Runnable 接口。在本文中,我们将对这两种方法进行详细的介绍和对比。 继承 Thread 类 继承 Thread 类是 Java 中最基本的多线程实现方法。 Thread 类提供...