Thread 的 run 和 start 是一个比较典型的模板设计模式,父类编写算法结构,子类实现逻辑细节。
二 模板设计模式 1 代码package concurrent;
public class TemplateMethod {
public final void print(String message) {
System.out.println("**********************");
wrapPrint(message);
System.out.println("**********************");
}
protected void wrapPrint(String message) {
}
public static void main(String[] args) {
TemplateMethod t1 = new TemplateMethod() {
@Override
protected void wrapPrint(String message) {
System.out.println("*" + message + "*");
}
};
t1.print("hello thread");
TemplateMethod t2 = new TemplateMethod() {
@Override
protected void wrapPrint(String message) {
System.out.println("+" + message + "+");
}
};
t2.print("hello thread");
}
}
2 测试
********************** *hello thread* ********************** ********************** +hello thread+ **********************三 说明
print 方法类似 Thread 的 start 方法,而 wrapPrint 则类似于 run 方法,这样做的好处是,程序结构由父类控制,并且是 final 修饰的,不允许被子类重写,子类只需要实现想要的逻辑即可。



