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

做弹弓教程网站广州黄埔建网站

做弹弓教程网站,广州黄埔建网站,那些企业需要做网站,做网站的必要条件共享内存的概念#xff1a; 操作系统通过页表将共享内存的起始虚拟地址映射到当前进程的地址空间中共享内存是由需要通信的双方进程之一来创建但该资源并不属于创建它的进程#xff0c;而属于操作系统 共享内存可以在系统中存在多份#xff0c;供不同个数#xff0c;不同进…共享内存的概念  操作系统通过页表将共享内存的起始虚拟地址映射到当前进程的地址空间中共享内存是由需要通信的双方进程之一来创建但该资源并不属于创建它的进程而属于操作系统 共享内存可以在系统中存在多份供不同个数不同进程进行通信因此共享内存一定会存在一个数据结构来对共享内存进行管理共享内存内存空间数据共享内存的属性 共享内存的相关接口 key由用户形成具有唯一性内核区分shm的唯一性的内核使用的一个字段用户不能用Key来进行shm的管理size共享内存的大小shmflg标记位可以用位图传参认识它中的两个宏IPC_CREAT和IPC_EXCL IPC_CREAT创建的共享内存不存在就创建存在则获取该共享内存并返回IPC_CREAT|IPC_EXCL创建的共享内存不存在就创建存在则出错返回IPC_EXCL单独使用没有意义 共享内存不随着进程的结束就释放因为共享内存不属于进程而属于操作系统需要手动释放或者后续其它系统调用。共享内存的生命周期随内核。 查共享内存的命令 ipcs -m删除共享内存的命令 ipcrm -m shmid 共享内存测试代码 #ifndef __SHM_HPP__ #define __SHM_HPP__ #include iostream #include cerrno #include cstdio #include sys/ipc.h #include sys/shm.h #include unistd.h const std::string pathname /home/dl/pipe/shm; int proj_id 0x66; const int Creater 1; const int User 2; const int CreatShmsize4096;class shm { private:// 获取共享内存int GetShmhelper(key_t key, int size, int flag){int shmid shmget(key, size, flag);if (shmid 0){perror(shmget);}return shmid;}//获取Keykey_t GetcommKey(){key_t k ftok(_pathname.c_str(), _proj_id);if (k 0){perror(ftok);}return k;} private:key_t _key;int _shmid;std::string _pathname;int _proj_id;int _who; public:shm(const std::string pathname, int proj_id, int who): _pathname(pathname),_proj_id(proj_id), _who(who){_keyGetcommKey();//获取共享内存都需要该参数因此直接在构造时生成即可std::coutshmid:_shmidstd::endl;std::coutkey:TOHex(_key)std::endl;std::coutwho:_whostd::endl;}~shm(){if(_whoCreater){int resshmctl(_shmid,IPC_RMID,nullptr);std::coutshm remove donestd::endl;}}std::string TOHex(key_t key){char buffer[128];snprintf(buffer, sizeof(buffer), 0x%x, key);return buffer;}bool GetShmCreater(){//判断是否为创建者if(_whoCreater){int shmid GetShmhelper(_key,CreatShmsize,IPC_CREAT|IPC_EXCL);if(shmid0)std::coutshm creat donestd::endl;sleep(5);return true;}return false;}bool GetShmUse(){//判断是否为使用者if(_whoUser){int shmid GetShmhelper(_key,CreatShmsize,IPC_CREAT);if(shmid0)std::coutshm get donestd::endl;return true;}return false;}};#endif
http://www.hkea.cn/news/14418530/

相关文章:

  • 仿 手机 网站模板html源码文明网站建设方案
  • 食品网站应该怎么做做齐鲁油官方网站
  • 阿里云主机怎么做两个网站吗网站是怎么搭建的
  • 网上接手袋做是哪一个网站动漫设计一个月能挣多少钱
  • 算命手机网站开发微官网和公众号的区别
  • 做网站赚钱什么类型网站改版中
  • seo站长工具综合查询成都房地产网
  • 昆明网站建站平台东莞松山湖学校
  • 德国域名申请网站网站美化模板
  • 国内用react做的网站wordpress分类推荐
  • 建站公司塔山双喜网站品牌建设公司
  • 网站分页效果小程序小游戏
  • 能用的网站济南网站建设专业
  • 招商网站建设运营大连男科医院排名表
  • 开源网站程序线上编程培训机构哪家好
  • 网站设置密码无法解析服务器的dns地址
  • 青岛优化网站关键词免费企业名录
  • 酷炫的网站模板免费下载网络营销seo培训
  • 网站建设次年续费合同wordpress的ftp设置方法
  • 南昌做网站建站的域名访问升级紧急中拿笔记好
  • 微动网站建设网络推广新乐市做网站
  • 主流做网站vs2015做网站如何添加控件
  • 动易网站建设实训报告济南网站建站模板
  • 网站优化的好处免费html5网站模板
  • html网站设计模板自在源码网
  • 广州百度seo 网站推广注册了网站之后怎么设计
  • 石狮网站国外精彩网站
  • 做网站得叫什么软件怎么推广网站建设业务
  • 天涯网站建设路小学做网站有哪些法规
  • 保健食品东莞网站建设自建网站网址