Java.lang.Runnable 接口

原创 2016年06月02日 10:37:14

Runnable是传统创建线程的借口,想要创建一个线程可运行实例,需要实现Runnable接口或者继承Thread类。
Runnable只有一个抽象的run()方法,此方法是在运行时有JVM调用,每一个运行期的Runnable实现类实例(包括Thread的子类,因为Thread亦是实现了Runnable接口)都对应于操作系统中的一个线程,所以说Java中的线程只是操作系统线程的一个映射,Java中线程的运行效率也不可能高于底层语言线程,因为Java中线程的创建和调用需要经过JVM,JVM再向下调用(JNI的方式与特定平台进行通信)。
JDK1.8中将Runnable标记为@FunctionalInterface函数式编程接口:

// Java 8之前:
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println("Before Java8, too much code for too little to do");
        }
    }).start();
//Java 8方式:
    new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();

这对于语言的简化是存在一定作用的,其实一直在说C#一直在抄袭Java,但是就这点来说,C#早就对Lambda做出了实现。函数式编程的引入,对于Java而言,是增加了一条更加可用的先决条件。

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

java.lang.Runnable接口

大家都知道使用线程的2种方式,一是继承Thread类,二是实现Runnable接口。实际上,即使你实现了Runnable接口,最终还是要构造一个Thread类的对象。看过Thread源代码发现,其实这...

Java多线程-(4)线程的创建、启动、Runnable和Thread

一、定义线程 在Java中,多线程的实现有两种方式: 1、扩展java.lang.Thread类 2、实现java.lang.Runnable接口 二、实例化线...

JAVA多线程实现Runnable方式

(一) 步骤:  1.定义实现Runnable接口  2.覆盖Runnable接口中的run方法,将线程要运行的代码存放在run方法中。 3.通过Thread类建立线程对象。 4.将Runn...
  • VLTIC
  • VLTIC
  • 2011年12月24日 15:35
  • 48606

JAVA 实现Runnable接口

/*      需求: 实现一个售票程序           创建线程的第二种方式:实现Runnable接口      步骤:      1,定义类实现Runnable接口      ...

java多线程之引入Runnable

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/39780825 作者:小马 本节用一种新的方式重新实现Counter示...

java中runnable的用法解析

1、类结构,首先有两个类,一个是测试类Main,一个是线程类MyThread。 2、MyThread package com.test.thread; import java.lang.manage...

Java通过实现Runnable接口来创建线程

创建一个线程,最简单的方法是创建一个实现Runnable接口的类。 为了实现Runnable,一个类只需要执行一个方法调用run(),声明如下:public void run()你可以重写该方法,重...

java线程系列---Runnable和Thread的区别

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()...

你不知道的Runnable接口,深度解析Runnable接口

本文描述的是Android中的Runnable接口 。因Android中的线程源自于Java,所以首先需要了解Java中的线程!  详情请看这篇文章Android(线程一) 线程  !     Jav...

Java实现Runnable接口方式实现多线程的优势

1.继承Threadpackage com.test.thread;public class TicketThread1 extends Thread { private int ticket...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java.lang.Runnable 接口
举报原因:
原因补充:

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