多线程-Thread与Runnable源码分析

此页面是否是列表页或首页?未找到合适正文内容。

多线程-Thread与Runnable源码分析

标签:hatsseart多线程privatestringabsonsgen

Runnable:

@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是个只有一个方法的接口。Thread:

public
class Thread implements Runnable {
/* What will be run. */
private Runnable target;
/**
* If this thread was constructed using a separate
* <code>Runnable</code> run object, then that
* <code>Runnable</code> object‘s <code>run</code> method is called;
* otherwise, this method does nothing and returns.
* <p>
* Subclasses of <code>Thread</code> should override this method.
*
* @see #start()
* @see #stop()
* @see #Thread(ThreadGroup, Runnable, String)
*/
@Override
public void run() {
if (target != null) {
target.run();
}
}
}

Thread实现了Runnable接口,而且还组合了一个Runnable,可以看出,实现的方法内部是调用组合类的方法,这其实就是装饰模式。

多线程-Thread与Runnable源码分析

标签:hatsseart多线程privatestringabsonsgen

原文地址:http://www.cnblogs.com/lujiango/p/7581008.html

作者: 大白菜装机

为您推荐

返回顶部