当前位置: 首页 > news >正文

电子商务网站建设说课稿棕色网站设计

电子商务网站建设说课稿,棕色网站设计,迅雷黄冈网站推广软件,用群晖的wordpress文章目录 1.单例模式的特点#x1f60a;2.单例模式两种实现#x1f923;#x1f917;#x1f60a;2.1 饿汉式2.2 懒汉式 3.传统单例模式的线程安全问题4.解决方法4.1静态局部变量4.2加锁4.3双重检查锁#xff08;DCL#xff09;4.4pthread_once 1.单例模式的特点#x1… 文章目录 1.单例模式的特点2.单例模式两种实现2.1 饿汉式2.2 懒汉式 3.传统单例模式的线程安全问题4.解决方法4.1静态局部变量4.2加锁4.3双重检查锁DCL4.4pthread_once 1.单例模式的特点 1.全局只有一个类的static实例存在 2.不允许直接实例化构造函数为私有的只通过一个类的静态方法获取该实例 2.单例模式两种实现 2.1 饿汉式 饿汉式是在类加载的时候就会创造实例会造成资源的浪费。 具体内部先定义并初始化好了一个静态实例。获取方法中直接返回实例。 特点线程安全会造成资源浪费 实现 class Singleton { private:static Singleton instance;// 私有构造函数防止类外实例化对象Singleton() {}public:// 获取实例的静态方法static Singleton getInstance() {return instance;}// 其他成员函数void doSomething() {// do something} };// 静态成员变量需要在类外初始化 Singleton Singleton::instance;int main() {// 获取单例对象实例Singleton singleton Singleton::getInstance();// 调用单例对象的方法singleton.doSomething();return 0; } 2.2 懒汉式 懒汉式是在需要时才创建实例通过获取实例方法获取实例。 具体内部定义一个静态实例获取方法中判断实例是否为空空则初始化实例否则返回该实例 特点避免资源浪费造成线程安全问题。 实现 class Singleton { private:// 静态成员变量用于保存单例实例static Singleton* instance;// 构造函数私有化防止外部创建实例Singleton() {}public:// 静态成员函数用于获取单例实例static Singleton* getInstance() {// 判断实例是否为空如果为空则创建实例if (instance nullptr) {instance new Singleton();}return instance;}// 删除拷贝构造函数和拷贝赋值运算符防止被复制Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance nullptr; // 初始化静态成员变量int main() {// 获取单例实例Singleton* singleton1 Singleton::getInstance();Singleton* singleton2 Singleton::getInstance();// 判断两个实例是否相同if (singleton1 singleton2) {cout 两个实例相同 endl;} else {cout 两个实例不相同 endl;}return 0; } 3.传统单例模式的线程安全问题 饿汉式是线程安全的懒汉式不是 当多线程执行getInstance时候如果线程A判断当前实例为空线程B正好判断到也为空就会申请资源当线程A恢复了后继续执行也会申请内存空间就会出现两个实例这就会出现问题 4.解决方法 4.1静态局部变量 class Singleton { private:Singleton() {}public:static Singleton* getInstance() {static Singleton instance;return instance;} }; 4.2加锁 class Singleton { private:// 静态成员变量用于保存单例实例static Singleton* instance;// 构造函数私有化防止外部创建实例Singleton() {}public:// 静态成员函数用于获取单例实例static Singleton* getInstance() {// 判断实例是否为空如果为空则创建实例Mutexlock lock(mutex);//加锁if (instance nullptr) {instance new Singleton();}return instance;}// 删除拷贝构造函数和拷贝赋值运算符防止被复制Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance nullptr; // 初始化静态成员变量int main() {// 获取单例实例Singleton* singleton1 Singleton::getInstance();Singleton* singleton2 Singleton::getInstance();// 判断两个实例是否相同if (singleton1 singleton2) {cout 两个实例相同 endl;} else {cout 两个实例不相同 endl;}return 0; }4.3双重检查锁DCL class Singleton { private:// 静态成员变量用于保存单例实例static Singleton* instance;// 构造函数私有化防止外部创建实例Singleton() {}public:// 静态成员函数用于获取单例实例static Singleton* getInstance() {// 判断实例是否为空如果为空则创建实例if (instance nullptr) {Mutexlock lock(mutex);if(instancenullptr)instance new Singleton();}return instance;}// 删除拷贝构造函数和拷贝赋值运算符防止被复制Singleton(const Singleton) delete;Singleton operator(const Singleton) delete; };Singleton* Singleton::instance nullptr; // 初始化静态成员变量int main() {// 获取单例实例Singleton* singleton1 Singleton::getInstance();Singleton* singleton2 Singleton::getInstance();// 判断两个实例是否相同if (singleton1 singleton2) {cout 两个实例相同 endl;} else {cout 两个实例不相同 endl;}return 0; }4.4pthread_once #includeiostream class singleton{ public: static singleton getinstance() { pthread_once(ponce,init);//保证该函数只被执行一次 return instance; } private: static void init() { instancenew singleton(); } singleton(){} ~singleton(){} static pthread_once_t ponce; static singleton* instance; }; singleton::poncePTHREAD_ONCE_INIT; singleton::instancenullptr;
http://www.w-s-a.com/news/700425/

相关文章:

  • 怎么做律所的官方网站红塔网站制作
  • 装一网装修平台官网惠州seo按天付费
  • 湖南建设监理报名网站东莞模块网站建设方案
  • 网站建设小组个人主页html源码
  • 响应式网站检测工具营销公司业务范围
  • 网站源码如何安装做游戏课程网站
  • 选服务好的网站建设亚洲砖码砖专区2022
  • 网站快速查找wordpress 悬停 图片 文字
  • 网站续费 多久想自己做网站该学些什么
  • 可以自己做网站wordpress英文写作插件
  • 国外可以做会员网站的网站怎么查百度竞价关键词价格
  • 新站网站建设亚马逊关键词
  • 电商网站前端架构设计上海市建设工程安全生产协会网站
  • 东莞企业免费模版网站建设一般网站维护要多久
  • 著名建筑设计网站常州制作网站价格
  • 食品营销型网站广东省广州市白云区
  • 如何做网站哪个站推广描述对于营销型网站建设很重要飘红效果更佳
  • 济阳做网站公司99企业邮箱888
  • 国贸做网站的公司能接做网站的活的网站
  • 淮南建设厅网站上杭县建设局网站
  • 东莞做网站公司首选!西安注册公司费用
  • 做网站包括什么卖水果网站模板
  • 扬州网站建设外包wordpress 文章评分
  • 网站建设网站多少钱公司名字大全列表
  • 设计企业网站内容wordpress 投稿者 权限
  • seo网站推广免费价格低的成语
  • 做网站建设销售辛苦吗专题页是什么
  • 做网站的软件名字全拼wordpress可以上传文件吗
  • 建品牌网站公司关于asp_sql网站开发的书籍
  • 建网站公司营销型网站建设wordpress自定义登录页