`
lhc1986
  • 浏览: 160221 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

多线程设计中的设计模式

    博客分类:
  • J2se
阅读更多

    中午吃过饭回来闲着没事,忽然想起多线程,打开网页随便看了下,发现多线程的实现实际就是用模板方法、装饰者两种模式设计的。

 

    模板方法模式定义:在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的摸板模式。

    装饰者模式定义:装饰者模式可以动态地给一个对象增加其他职责。就扩展对象功能来说,装饰者模式比生成子类更为灵活。

 

创建多线程有两种方式,大家耳熟能详的。

 1.继承类Thread,调用Thread类的start方法。Thread类中就定义了一个run方法留给子类去实现,而start方法又是调用run方法,典型的模板方法模式。

2.实现runnable接口,实现类把此接口的实现类当做Thread的构造参数来新建Thread类,然后调用start方法开启线程。查看Thread类也是实现的runnable接口,也就是说Thread类是我们自己实现runnable接口类的装饰者,只不过Thread类没有直接调用共同实现的run方法,还是调用的start方法来触发线程启动。也算是两种模式的混合使用。

 

皮毛而已,天天总结,天天向上。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics