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

潍坊网站建设咨询做百度推广效果怎么样

潍坊网站建设咨询,做百度推广效果怎么样,布吉网站的建设,苏州优化网站建设前言 那么这里博主先安利一下一些干货满满的专栏啦#xff01; 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结#xff0c;每一篇都是超级用心编写的#xff0c;有兴趣的伙伴们都支… 前言 那么这里博主先安利一下一些干货满满的专栏啦 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结每一篇都是超级用心编写的有兴趣的伙伴们都支持一下吧算法专栏https://blog.csdn.net/yu_cblog/category_11464817.html这里是STL源码剖析专栏这个专栏将会持续更新STL各种容器的模拟实现。 STL源码剖析https://blog.csdn.net/yu_cblog/category_11983210.html?spm1001.2014.3001.5482 什么是System V的共享内存 进程间通信本质让不同进程看到同一份资源 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间这些进程间数据传递不再涉及到内核换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。 当我们用管道进行进程间通信的时候我们知道无论是匿名管道的形式还是命名管道的形式最后都是需要在磁盘上创建部分空间的。 而共享内存的方案只需要在内存的级别上创建共享的空间 至于详细的系统调用接口博主会在代码的注释中进行解释。 今天博主带着大家把框架搭好关于通信的具体实现博主会在下一期进行详细的讲解 代码下载地址  Git地址https://github.com/Yufccode/BitCode/tree/main/Linux/%E4%BB%A3%E7%A0%81/1126_SystemV%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98%E6%A1%86%E6%9E%B6%E6%90%AD%E5%BB%BA 部分实现原理 shmServer.cc和shmClient.cc代码  注意仅有这两份代码是不够用的需要下载代码学习的伙伴要在博主上面提供的链接上下载代码。 这里面是一个完整的项目 shmServer.cc #include comm.hpp// 为了让key更好看和命令行输出的对应起来 // 写一个转换成16进制的函数 std::string TransToHex(key_t k) {char buffer[32];snprintf(buffer, sizeof buffer, 0x%x, k);return buffer; }int main() {// 1.创建公共的key值key_t k ftok(PATH_NAME, PROJ_ID);assert(k ! -1);Log(create key done, Debug) server key: TransToHex(k) std::endl;// 2.创建共享内存 -- 建议创建一个全新的共享内存 -- Server是通信的发起者int shmid shmget(k, SHM_SIZE, IPC_CREAT | IPC_EXCL | 0666);if (shmid -1){// 创建失败perror(shmget);exit(1);}Log(create shm done, Debug) shmid: shmid std::endl;//3.将制定的共享内存挂接到自己的地址空间sleep(3);char* shmaddr (char*)shmat(shmid,nullptr,0);Log(attach shm done, Debug) shmid: shmid std::endl;sleep(3);//我们会看到 挂接数会从0变成1// 这里面就是通信的逻辑了 ////...// 这里面就是通信的逻辑了 ////4.解除挂接// 将制定的共享内存从自己的地址空间中去关联int n shmdt(shmaddr);assert(n!-1);(void)n;Log(detach shm done, Debug) shmid: shmid std::endl;sleep(3);// last. 删除共享内存//IPC_RMID表示即便是有进程和当下的shm挂接依旧删除共享内存int n shmctl(shmid, IPC_RMID, nullptr);assert(n ! -1);(void)n;Log(delete shm done, Debug) shmid: shmid std::endl;return 0; }shmClient.cc #include comm.hppint main() {key_t k ftok(PATH_NAME, PROJ_ID);if(k0){Log(create key failed, Error) client key: k std::endl;exit(1);}Log(create key done, Debug) client key: k std::endl;//获取共享内存int shmid shmget(k,SHM_SIZE,IPC_CREAT);if(shmid0){Log(create shm success, Error) client key: k std::endl;exit(2);}Log(create shm failed, Debug) client key: k std::endl;sleep(5);//char* shmaddr (char*)shmat(shmid,nullptr,0);if(shmaddr nullptr){Log(attach shm failed, Error) client key: k std::endl;exit(3);}Log(attach shm success, Debug) client key: k std::endl;sleep(5);//使用//去关联int n shmdt(shmaddr);assert(n!-1);Log(detach shm success, Debug) client key: k std::endl;sleep(5);//client要不要chmctl删除呢不需要return 0; } 尾声 看到这里相信大家对System V通信结构的基本搭建已经有了一定的理解了如果大家觉得这篇文章对你们有帮助的话不要吝啬你们的点赞收藏哦
http://www.hkea.cn/news/14418065/

相关文章:

  • 中原区快速建站公司电话南昌的网站设计
  • 石家庄网络建站有谁认识做微网站的
  • 网站建设公司源码 asp网页游戏排行榜对战
  • wordpress 验证码插件西宁seo网站建设
  • asp网站开发源码有.net源码如何做网站
  • 北京工程建设合同备案网站凡客诚品来源
  • 潍坊做企业手机版网站湖南建站网站
  • 苏州高端网站建设公司哪家好之力
  • 网上做网站过程crm系统有哪些
  • 湖北响应式网站建设企业微信开发者工具
  • 怎么用h5网站做动效山西人工智能建站系统软件
  • 电子商务网站建设流程是什么网站秒收录怎么做的
  • 品牌网站建设福州网站出租目录做菠菜 有什么坏处
  • 温州市网站制作公司怎样做国际网站
  • 高端网站建设公司排行儿童主题网站的内容建设
  • 东莞网站建设定制学做ps的软件的网站有哪些内容
  • 重庆网站seo建设哪家好icoc.cc是哪个网站域名
  • 电子商务大型网站建设深圳企业网站制作公司介绍
  • 国外中文网站域名注册商网站地图导出怎么做
  • 免费建个人网站步骤wordpress ajax接口
  • 网站开发工具的家装网站建设多少钱
  • 凡科网网站后台建设网站的维护和建设
  • 网站建设维护网页设计安卓优化大师历史版本
  • 如何建一个商业网站健康网站建设与管理
  • 做网站时怎样申请域名dw怎么做鲜花网站
  • 企业网站建设的文献网站内容发布平台源码
  • 嘉峪关做网站购物网页html代码
  • 个人免费网站空间网站php源码
  • 微信平台做微文网站链接30号长沙封城最新消息
  • 黄石企业做网站东莞市 住房与城乡建设部网站