1.Thread与Runnable区别
- Runnable的实现方式是实现其接口即可
- Thread的实现方式是继承其类
- 适合多个相同程序代码的线程区处理同一资源的情况
2.为什么会有Runnable
-
采取策略模式,方便线程与业务逻辑分离
-
什么是策略模式:
为了更好的理解这个模式,我们再举一个例子,我们出去旅游的时候可能有很多种出行方式,比如说我们可以坐火车、坐高铁、坐飞机等等。不管我们使用哪一种出行方式,最终的目的地都是一样的。也就是选择不同的方式产生的结果都是一样的。
3.实现策略模式
策略模式把对象本身和运算规则区分开来,因此我们整个模式也分为三个部分:
- 环境类(Context):用来操作策略的上下文环境,也就是我们游客。
- 抽象策略类(Strategy):策略的抽象,出行方式的抽象
- 具体策略类(ConcreteStrategy):具体的策略实现,每一种出行方式的具体实现。
下面我们代码去实现一遍就能很清楚的理解了:
第一步:定义抽象策略接口
第二步:具体策略类
第三步:环境类实现