博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式(单例模式)——Linux系统编程
阅读量:3943 次
发布时间:2019-05-24

本文共 947 字,大约阅读时间需要 3 分钟。

设计模式

  1. 设计模式的优点
    1. 代码复用程度高
    2. 程序比较可靠,并且容易理解
    3. 代码框架比较稳定
  2. 设计模式的分类
    1. 创建型模式——单例模式
    2. 结构型模式——适配器模式
    3. 行为型模式——观察者模式

单例模式

  1. 特点:全局提供唯一一个类的实例,具有全局变量的特点

  2. 使用场景:内存池+数据池

  3. 基础的要点

    1. 全局只有一个实例——static+禁止构造+禁止拷贝构造+禁止赋值拷贝
    2. 线程安全
    3. 调用者是通过类的函数来获取实例
  4. 具体的实现

    1. 饿汉模式——程序启动的时候进行初始化,资源在程序启动的时候就全部加载完毕了

      1. 优点:程序运行速度很快;缺点:程序初始化的时候就耗时比较长

      2. 实现

        template
        class singlen{
        public: //禁止构造,禁止拷贝构造,禁止拷贝 static T* GetInstance() {
        return &data_; }private: static T data;};
    2. 懒汉模式——资源在使用的时候才进行实例化,单例列的对象在使用的时候才进行实例化

      1. 优点:程序初始化的时候比较快;缺点:运行的时候没有饿汉模式流畅,可能存在线程安全的问题

      2. 实现

        class singten{
        public: static singten* GetInstance();private: signlen(); volatile static singten* p;};static singten* GetInstance(){
        if(p==NULL) {
        pthread_mutex_lock(&locK_); if(p==NULL) {
        p=new singten(); } pthread_mutex_unlock(&lock_); } return p;}
      3. 互斥锁保证线程安全

      4. 双重if判断提高代码效率、

      5. valatile关键字防止编译器过度优化

转载地址:http://hfowi.baihongyu.com/

你可能感兴趣的文章
学习无为领导力
查看>>
卓越领导看过程
查看>>
领导力与各种循环挑战
查看>>
达成谈判协议 - 避免操之过急
查看>>
销售人说话“十大忌”
查看>>
营销中的“战略非对称”
查看>>
android 如何开关Mediatek开发的Feature
查看>>
Android电话功能各部分深入探讨
查看>>
Android应用技巧总结
查看>>
Android创建sdcard详细图解
查看>>
Android开发:如何实现TCP和UDP传输
查看>>
Android电源管理相关应用技巧分享
查看>>
Android录音失真具体解决方案
查看>>
Android根文件系统相关应用介绍
查看>>
Android文件系统深入剖析
查看>>
Android判断网络状态方法详解
查看>>
在Android上实现Junit单元测试的四部曲
查看>>
有效控制Android应用程序的耗电量
查看>>
Android术语列表概览
查看>>
全方位解读Android多媒体框架源码
查看>>