美文网首页
模板方法模式+多例模式

模板方法模式+多例模式

作者: wmelon | 来源:发表于2020-04-21 21:40 被阅读0次

    最近看了设计模式和锁的一些知识,就想着自己写点什么巩固一下知识。

    然后就随便写了一个类似(也许不像)连接池的这么一个demo。

    定义一个连接类 Connection,用户查询操作,里边有

    image

    这样几个方法,刚开始在池中是直接用isFree()判断状态,然后在用setState()方法改变状态的,发现这样不好保证原子操作,所以增加了checkAndSetStates()方法。

    定义函数式接口 Content(用于接收连接后的具体查询操作):

    image

    定义连接池 Pool:

    image

    execute()方法 中使用try finally 代码段,保证线程出错,仍会归还连接。

    getCon()方法使用自旋的方式,减少不必要的上下文切换,等待获取空闲连接。

    构造函数初始化连接池大小:

    image

    源代码放在了我的gitee仓库里,这个仓库里边还有我总结的一些设计模式的demo,有兴趣的小伙伴可以看看,可以让你更加轻松的理解设计模式!
    git地址:https://gitee.com/watermelon_x/design_pattern.git
    博客地址:https://wmelon.cn/200.html

    相关文章

      网友评论

          本文标题:模板方法模式+多例模式

          本文链接:https://www.haomeiwen.com/subject/fxigsctx.html