Java之线程Runnable,javarunnable
分享于 点击 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。
此外,一个类不用继承自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()
相关文章
- 暂无相关文章
用户点评