欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

Java之线程Runnable,javarunnable

来源: javaer 分享于  点击 18248 次 点评:260

Java之线程Runnable,javarunnable



参考


https://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html


https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html


https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html


http://www.cnblogs.com/chenpi/p/5885062.html



原文 


https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html


public interface java.lang.Runnable


@FunctionalInterface


所有的已知的子接口:
RunnableFuture<V>, RunnableScheduledFuture<V>


所有已知的实现类:
AsyncBoxView.ChildState, ForkJoinWorkerThread, FutureTask, RenderableImageProducer, SwingWorker, Thread, TimerTask


功能接口/函数式接口/闭包


这是一个函数式接口,因此,可以被用作lambda表达式或者方法引用的赋值对象。






如果你意图让任何类的实例被一个线程执行,那么,这个类应该实现Runnable接口,也必须重写一个无参的方法run。






设计Runnable是为了给对象提供一个公共协议,当这些对象处于活跃的状态时才会去执行代码。例如,Thread类就实现了Runnable。活跃仅仅意味着一个线程已经被启动了但还没有被停止。




此外,一个类不用继承自Thread类也可以保持活跃,Runnable就提供了这个解决途径。一个类不需继承Thread类,只要实现了Runnable,就可以运行起来----把这个类的实例作为实参传入一个实例化了的Thread实例。





大部分情况下,Runnable接口应该被使用,如果你仅仅打算只重写run()方法,而不是重写其他的属于Thread的方法。这一点很重要,因为,类不应该被继承,除非编程人员打算修改/改进这些类的基本行为。






自从:
      JDK1.0
作者:
       Arthur van Hoff
另见:
         java.lang.Thread
         java.util.concurrent.Callable



方法细节

void java.lang.Runnable.run()


当一个对象R实现了Runnable接口,可以被用来创建线程T;启动这个线程T会引起该对象R的run方法被调用,线程T是分开地单独在运行。


这个run方法的通用约定是它可以/可能接受和执行任何动作。



另见:
       java.lang.Thread.run()

相关文章

    暂无相关文章

用户点评