首页 技术 正文
技术 2022年11月15日
0 收藏 611 点赞 4,346 浏览 1682 个字

一、简单说下Runnable是什么

1、它是一个接口

2、只提供了run方法

3、这个接口提供了一个协议:实现这个接口的类是active的(不必成为Thread的子类)

4、run方法没有返回值

 /**  * The <code>Runnable</code> interface should be implemented by any  * class whose instances are intended to be executed by a thread. The  * class must define a method of no arguments called <code>run</code>.  * <p>  * This interface is designed to provide a common protocol for objects that  * wish to execute code while they are active. For example,  * <code>Runnable</code> is implemented by class <code>Thread</code>.  * Being active simply means that a thread has been started and has not  * yet been stopped.  * <p>  * In addition, <code>Runnable</code> provides the means for a class to be  * active while not subclassing <code>Thread</code>. A class that implements  * <code>Runnable</code> can run without subclassing <code>Thread</code>  * by instantiating a <code>Thread</code> instance and passing itself in  * as the target.  In most cases, the <code>Runnable</code> interface should  * be used if you are only planning to override the <code>run()</code>  * method and no other <code>Thread</code> methods.  * This is important because classes should not be subclassed  * unless the programmer intends on modifying or enhancing the fundamental  * behavior of the class.  *  * @author  Arthur van Hoff  * @see     java.lang.Thread  * @see     java.util.concurrent.Callable  * @since   JDK1.0  */ @FunctionalInterface public interface Runnable {     /**      * When an object implementing interface <code>Runnable</code> is used      * to create a thread, starting the thread causes the object's      * <code>run</code> method to be called in that separately executing      * thread.      * <p>      * The general contract of the method <code>run</code> is that it may      * take any action whatsoever.      *      * @see     java.lang.Thread#run()      */     public abstract void run(); }

Runnable源码

 二、简单总结下如何使用

具体见《java编程思想》p654

定义一个类LiftOff实现这个接口,如:

public class LiftOff implements Runnable ...(省略)Thread t = new Thread(new LiftOff());t.start();

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,487
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,486
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,126
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,287