`

启动线程的五种方式方法(通过继承Thread类或实现Runnable接口)

    博客分类:
  • J2EE
阅读更多

package day01;
/**
* 启动线程的五种方式方法:
* 本质:继承Thread类或实现runnable接口
* @author Administrator
*
*/
public class ThreadDemo {

/**
* @param args
*/
public static void main(String[] args) {
//使用匿名内部类创建线程
Thread t1 = new Thread(){
public void run(){
System.out.println("匿名内部类创建线程成功");
}
};
t1.start();

//使用runnable接口创建线程
Runnable r = new Runnable(){
public void run(){
System.out.println("runnable接口创建线程成功");
}
};
Thread t2 = new Thread(r);
t2.start();

//使用runnable接口创建创建匿名类,创建线程实例
Thread t3 = new Thread(new Runnable(){
@Override
public void run() {
System.out.println("使用runnable接口创建创建匿名类,创建线程实例成功");
}
});
t3.start();

//创建匿名类实例,直接启动线程
new Thread(){
public void run(){
System.out.println("创建匿名类实例,直接启动线程成功");
}
}.start();

//创建匿名类实例,实现runnable接口,直接启动线程
new Thread(new Runnable(){
public void run(){
System.out.println("创建匿名类实例,实现runnable接口,直接启动线程");
}
});
}
}

分享到:
评论

相关推荐

    Java中的Runnable接口最全讲义

    2.1 继承Thread类 2.2 实现Runnable接口 3. 实现Runnable接口: 3.1 实现步骤 3.2 优点与用途 4. 启动线程: 4.1 使用Thread类启动线程 4.2 使用Executor框架启动线程池 5. 传递参数给线程: 5.1 使用构造方法传递...

    java多线程示例

    Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。 2.实现Runnable接口,并实现该接口的run()方法.创建一个Thread对象,用实现的Runnable接口...

    创建线程的三种方式(Thread、Runnable、Callable).docx

    继承Thread类实现多线程: 1. 在Java中负责实现线程功能的类是java.lang.Thread 类。 2. 可以通过创建 Thread的实例来创建新的线程。 3. 每个线程都是通过某个特定的Thread对象所对应的方法run( )来完成其操作的,...

    基础深化和提高-Java多线程技术

    实现Runnable接口:创建一个类实现java.lang.Runnable接口,实现run()方法,并将该实现类传递给Thread类的构造函数中。然后创建Thread实例并启动线程。 java class MyRunnable implements Runnable { public void r

    Java高级程序设计:第13章-多线程编程.pptx

    继承Thread类创建线程类;继承Thread类创建线程类;在一个Java程序内启动多条线程;继承Thread类时设置线程的名字;线程的执行方式和优先级 ;线程的执行方式和优先级;线程的执行方式和优先级;设置线程的优先级;设置线程...

    java并发编程:线程基础

    线程的创建: 详细讲解线程的创建方式,包括继承 Thread 类和实现 Runnable 接口。演示如何通过这些方式来创建和启动线程。 线程的生命周期: 解释线程的生命周期,包括新建、就绪、运行、阻塞和终止等状态。探讨...

    Java—并发编程—-线程创建方式

    一、背景 多线程能够在操作系统多核配置的基础上,更好的利用服务器多个...具体使用方式,创建一个类并继承Thread接口,然后实例化线程对象并调用start()方法启动线程,start方法是navite方法。代码如下 private stat

    Java核心技术之多线程的实现

    继承Thread类和实现Runnable接口是最基本的方式,但有一个共同的缺点:没有返回值。而Future Task解决了这个问题。Executor是JDK提供的一个多线程框架。 Java8创建一个新的执行线程有两种方法: 1、一种是将一个类...

    Android 多线程的实现方法总结

    1. 继承Thread线程,实现run方法 2. 实现Runnable接口 JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就体现出来了 但是可以实现多个接口,所以第二种方法相对于第一种来说...

    java面试题(线程和JSP及EJB部分).pdf

    答:有两种实现方法,分别是继承Thread类与实现Runnable 接口 用synchronized 关键字修饰同步方法 反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线 程...

    多线程与并发 基础面试题1

    1.继承Thread类,启动线程的唯一方法就是通过 Thread 类的 start()实例方法, 2.实现 Runnable 接口,重写run()函数,作为参数

    一文带你读懂线程的启动和终止,

    1.1继承Thread类 1.2实现Runnable接口 2、启动线程 3、线程的中断 3.1运行态的中断/阻塞态中断 3.2等待态的中断/超时等待态的中断 4、线程的终止 线程的启动和终止 不熟悉线程基本概念的同学,可以先看看我的上一篇...

    java笔试题大集合及答案(另附各大公司笔试题)

    答:有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在...

    JAVA并发编程实践-线程池-学习笔记

    当调用 start 启动线程时 Java 虚拟机会调 用该类的 run方法。 那么该类的 run() 方法中就是调用了 Runnable 对象的 run() 方法。 我 们可以继承重写Thread 类,在其 start 方法中添加不断循环调用传递过来的 ...

    BAT面试官有点懵系列,Java多线程你真的理解透彻了吗?带你玩转一次多线程!Let’s go!别再out了!

    文章目录神标题引入线程和进程多线程的优势线程创建方式继承Thread类来创建和启动实现Runnable接口重写run方法创建线程类使用 Callable 和 Future 创建线程三种创建线程方式做出对比线程生命周期线程控制join线程...

    基于某JAVA地剪刀石头布游戏设计——Java课程设计报告材料-.doc

    通常有 两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出 子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是...

    java 面试题 总结

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload...

    java课程设计报告-五子棋(1).doc

    、接口的定义和实现 Interface 接口名{//抽象方法} //定义接口 Class 类名 implements 接口名称{// 类体} 实现接口 5、线程 、线程的定义 即同时执行多个程序段,每个程序段都是一个线程。 、线程的周期 线程的周期...

    java课程设计报告-五子棋.doc

    、接口的定义和实现 Interface 接口名{//抽象方法} //定义接口 Class 类名 implements 接口名称{// 类体} 实现接口 5、线程 、线程的定义 即同时执行多个程序段,每个程序段都是一个线程。 、线程的周期 线程的周期...

    java课程设计报告-五子棋(2).doc

    、接口的定义和实现 Interface 接口名{//抽象方法} //定义接口 Class 类名 implements 接口名称{// 类体} 实现接口 5、线程 、线程的定义 即同时执行多个程序段,每个程序段都是一个线程。 、线程的周期 线程的周期...

Global site tag (gtag.js) - Google Analytics