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

php 网站调试昆山网站建设公司哪家好

php 网站调试,昆山网站建设公司哪家好,网站建设包括哪几个方面,上海网站编辑招聘什么是RAII机制RAII是Resource Acquisition Is Initialization#xff08;翻译成 “资源获取即初始化”#xff09;的简称#xff0c;是C 语言的一种管理资源、避免资源泄漏的惯用法#xff0c;该方法依赖构造函数资和析构函数的执行机制。RAII的做法是使用一个类对象… 什么是RAII机制RAII是Resource Acquisition Is Initialization翻译成 “资源获取即初始化”的简称是C 语言的一种管理资源、避免资源泄漏的惯用法该方法依赖构造函数资和析构函数的执行机制。RAII的做法是使用一个类对象在对象的构造函数中获取资源在对象生命期内控制对资源的访问最后在对象消失时其析构函数来释放获取的资源这里的资源可以是文件句柄内存Event互斥量等等由于系统的资源是有限的就好比自然界的石油铁矿一样不是取之不尽用之不竭的。所以我们在编程安全上要求必须遵循以下几个步骤1. 申请资源2. 使用资源3. 释放资源在步骤一和步骤二上我们平时都比较容易把握而资源的释放会因为种种编码原因容易被忽略导致系统资源实际没有使用了但却没有释放或者引发其他问题影响了系统资源利用率。没有使用RAII机制的弊端那么我们为什么涉及资源管理时建议使用RAII机制进行编码呢不推荐的编码方式片段while (TRUE) {     //等待直到获得指定对象的所有权     EnterCriticalSection(g_csLock);      //关键代码段-begin     if (g_nIndex   nMaxCnt)     {         cout  Index   g_nIndex   ;         cout  Thread2 is runing  endl;         //权限释放容易忘记         LeaveCriticalSection(g_csLock);     }     else     {         //权限释放容易忘记         LeaveCriticalSection(g_csLock);         //关键代码段-end         break;     }  }之所以不推荐这样的编码方式是因为EnterCriticalSection/LeaveCriticalSection必须配对使用很需要依赖人无法根本上解决问题如果LeaveCriticalSection函数没有执行或者忘记添加该API很容易引发问题。互斥锁应用RAII机制为了从根本上解决问题减少人为因素引发应用系统问题或者资源泄漏在关键代码段和互斥量这两种锁上示范了如何应用RAII机制简化多线程互斥编码。关键代码段初始化和锁接口:class CSLock{public:    CSLock()    {        //构造函数时初始化关键代码段对象获取资源        InitializeCriticalSection(m_csLock);    }~CSLock()    {        //析构函数时释放为关键代码段对象分配的所有资源释放资源        DeleteCriticalSection(m_csLock);    }  //生命周期内实现对象资源的管理(Lock/Unlock)使用资源    void Lock()    {        EnterCriticalSection(m_csLock);    }void Unlock()    {        LeaveCriticalSection(m_csLock);    }    //阻止锁的拷贝和赋值private:    CSLock (const CSLock );    CSLock operator   (const CSLock);private:    CRITICAL_SECTION m_csLock; };创建互斥量对象和锁接口:class CMutexLock{public:    CMutexLock()    {        m_hMutex CreateMutex(NULL, FALSE, NULL);//获取资源    }~CMutexLock()    {        CloseHandle(m_hMutex);//释放资源    }void Lock()    {        WaitForSingleobject(m_hMutex, INFINITE);//使用资源    }void Unlock()    {        ReleaseMutex(m_hMutex);//使用资源    }    //阻止锁的拷贝和赋值private:    CMutexLock(const CMutexLock);    CMutexLock operator (const CMutexLock);private:    HANDLE  m_hMutex;};类模板对象,再一次使用RAII机制管理锁对象的占用和释放建议简化锁的应用实现资源的自动回收templateclass Tclass CLockGuard{public:    CLockGuard(T locker) :m_lockerObj(locker)    {        m_lockerObj.Lock();    }~CLockGuard()    {        m_lockerObj.Unlock();    }private:
http://www.yutouwan.com/news/249448/

相关文章:

  • 网站由哪三部分组成wordpress主题文件夹在哪里
  • 广州做网站市场青岛市做网站
  • 西安个人网站建设龙岗免费的网站制作
  • 中国信用网站建设的重要性深圳网站建设深圳网络公司
  • 做网站设计的有些什么职位网站建设在作用是什么
  • 摄影作品可以在哪些网站投稿快速网站仿制
  • 国内有做外汇的正规网站吗如何新建一个网站
  • 如今做哪个网站致富重庆sem网站推广
  • 网站怎么做动效网站百度地图怎么做
  • 公司网站建设需要显示什么数据分析师就业前景如何
  • 网站推广是什么岗位有哪些网页设计公司
  • 泰安最好的网站建设公司河南 医院 网站建设
  • 景区网站如何建设北京海淀建设规划局
  • 表格我做视频网站哪家网站建设做的好
  • 网站自定义模块查看网站空间
  • 做视频的软件模板下载网站有哪些营销师是做什么的
  • 桐乡住房和城乡规划建设局网站夫唯seo系统培训
  • 网站模板 登陆住房住房和城乡建设部网站首页
  • 网站后台文章排版seo的搜索排名影响因素有哪些
  • php网站开发实例教程的作者佛山厂家推广优化
  • 合肥建设管理学校网站济南电子商务网站建设
  • 建站公司 phpwind网站竞价
  • 音乐网站设计怎么做做网站唐山
  • 网站开发包含网站维护吗电商网站排行
  • 建设电子商务网站的试卷网站要设置哪些栏目
  • 做一个企业网站要多久竞价培训
  • 做软装平台网站wordpress 注册会员默认权限
  • 天津网站建设兼职有没有做.net面试题的网站
  • 商品数据包网站开发网站开发哪便宜
  • 怎么做自己的淘宝客网站全国十大婚恋网站排名