资讯专栏INFORMATION COLUMN

创建并使用线程

BlackMass / 320人阅读

摘要:创建并使用线程两种方式,创建新的线程实现接口,接口定义了一个方法。注意,两个例子均调用了去创建一个新的线程这两种方式,该选哪一种实现接口,是常用的创建新线程的方式。缺点是,无法继承其它类建议使用第一种。

创建并使用线程

两种方式,创建新的线程:

实现 Runnable 接口,Runnable 接口定义了一个方法:run。run 方法中的代码,将在创建的线程中执行。实现了 Runnable 接口的对象,作为 Thread 构造方法的参数。

public class HelloRunnable implements Runnable {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new Thread(new HelloRunnable())).start();
    }

}

继承 Thread。Thread 类实现了 Runnable 接口,尽管它的 run 方法内什么也没有。一个类可以继承自 Thread,并重写 run 方法。

public class HelloThread extends Thread {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new HelloThread()).start();
    }

}

注意,两个例子均调用了 Thread.start 去创建一个新的线程

这两种方式,该选哪一种?

实现 Runnable 接口,是常用的创建新线程的方式。

实现 Runnable 接口的类,可以继承自其它的类,而不仅仅是 Thread。更加灵活。

适用于一些高阶线程管理的 APIs

继承 Thread,用起来似乎更加简单一点。缺点是,无法继承其它类 (java)

建议使用第一种。

参考资料

Defining and Starting a Thread

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65197.html

相关文章

  • JAVA 多线程发基础面试问答

    摘要:多线程和并发问题是技术面试中面试官比较喜欢问的问题之一。线程可以被称为轻量级进程。一个守护线程是在后台执行并且不会阻止终止的线程。其他的线程状态还有,和。上下文切换是多任务操作系统和多线程环境的基本特征。 多线程和并发问题是 Java 技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(...

    dreamans 评论0 收藏0
  • JAVA 多线程发基础

    摘要:线程可以被称为轻量级进程。一个守护线程是在后台执行并且不会阻止终止的线程。其他的线程状态还有,和。上下文切换是多任务操作系统和多线程环境的基本特征。在的线程中并没有可供任何对象使用的锁和同步器。 原文:Java Multi-Threading and Concurrency Interview Questions with Answers 翻译:并发编程网 - 郑旭东 校对:方腾飞 多...

    vboy1010 评论0 收藏0
  • Java 多线程

    摘要:当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程所有运行中的任务通常对应一个进程。线程也被称作轻量级进程,线程是进程的执行单元。在线程的生命周期中,它要经过新 线程概述 线程和进程 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程 所有运...

    zorro 评论0 收藏0
  • 线程总结

    摘要:一个进程可以拥有多个线程,一个线程必须有一个父进程。线程是独立运行的,它并不知道进程中是否还有其他的线程存在。线程的调度和管理由进程本身负责完成。因此多线程实现多任务并发比多线程的效率高。   一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 进程 定义:   当一个程序进入内存运行时,即变成一个进程。...

    justCoding 评论0 收藏0
  • java发编程学习3--线程

    摘要:线程池为了节省系统在多线程并发时不断创建和销毁线程带来的额外开销,就需要引入线程池。其中表示一个线程池。表示一个线程工厂,通过可以取得一个特定功能的线程池。创建固定数目线程的线程池。默认情况下,在创建了线程池后,线程池中的线程数为。 【线程池 为了节省系统在多线程并发时不断创建和销毁线程带来的额外开销,就需要引入线程池。线程池的基本功能就是进行线程的复用。当系统接受一个提交的任务时,并...

    anyway 评论0 收藏0
  • @Java | Thread & synchronized - [ 多线程 基本使用]

    摘要:线程线程是进程中的一个实体,作为系统调度和分派的基本单位。下的线程看作轻量级进程。因此,使用的目的是让相同优先级的线程之间能适当的轮转执行。需要注意的是,是线程自己从内部抛出的,并不是方法抛出的。 本文及后续相关文章梳理一下关于多线程和同步锁的知识,平时只是应用层面的了解,由于最近面试总是问一些原理性的知识,虽说比较反感这种理论派,但是为了生计也必须掌握一番。(PS:并不是说掌握原理不...

    zhunjiee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<