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

安徽seo网站推广定制微信网站

安徽seo网站推广,定制微信网站,新浪微博网页版qq登录入口,上海网站设计与制共享内存共享内存是可以被多个进程共享访问的一部分物理内存,如果多个进程都把一个内存区映射到自身的虚拟地址空间,则这些进程就可以直接访问该共享的内存区域,从而通过共享内存的方式实现多进程间的通讯,共享内存是进程间数据通讯的最快方法.共享内存的实现分为两步:1,创建共… 共享内存共享内存是可以被多个进程共享访问的一部分物理内存,如果多个进程都把一个内存区映射到自身的虚拟地址空间,则这些进程就可以直接访问该共享的内存区域,从而通过共享内存的方式实现多进程间的通讯,共享内存是进程间数据通讯的最快方法.共享内存的实现分为两步:1,创建共享内存,使用shmget函数2,映射共享内存,将创建的共享内存映射到具体的进程空间中去,使用shmat函数 int shmget(key_t key,int size,int shmflg); //用于创建一个共享内存共享内存对象的创建或获得。与其它IPC机制一样进程在使用共享内存区域以前必须通过系统调用sys_ipc call值为SHMGET创建一个键值为key的共享内存对象或获得已经存在的键值为key的某共享内存对象的引用标识符。以后对共享内存对象的访 问都通过该引用标识符进行。对共享内存对象的创建或获得由函数sys_shmget完成.这里key是表示该共享内存对象的键值size是该共享内存区 域的大小以字节为单位shmflg是标志对该共享内存对象的特殊要求。这里key是表示该共享内存对象的键值size是该共享内存区域的大小以字节为单位shmflg是标志对该共享内存对象的特殊要求。它所做的工作如下1) 如果key IPC_PRIVATE则总是会创建一个新的共享内存对象。但是 (The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW would more clearly show its function)* 算出size要占用的页数检查其合法性。* 申请一块内存用于建立shmid_kernel数据结构注意这里申请的内存区域大小不包括真正的共享内存区实际上要等到第一个进程试图访问它的时候才真正创建共享内存区。* 根据该共享内存区所占用的页数为其申请一块空间用于建立页表每页4个字节将页表清0。* 搜索向量表shm_segs为新创建的共享内存对象找一个空位置。* 填写shmid_kernel数据结构将其加入到向量表shm_segs中为其找到的空位置。* 返回该共享内存对象的引用标识符。2) 在向量表shm_segs中查找键值为key的共享内存对象结果有三* 如果没有找到而且在操作标志shmflg中没有指明要创建新共享内存则错误返回否则创建一个新的共享内存对象。* 如果找到了但该次操作要求必须创建一个键值为key的新对象那么错误返回。* 否则合法性、认证检查如有错则错误返回否则返回该内存对象的引用标识符。共享内存对象的创建者可以控制对于这块内存的访问权限和它的key是公开还是私有。如果有足够的权限它也可以把共享内存锁定在物理内存中。void *shmat(int shmid,char *shmaddr(NULL),int shmflg); //用于将共享内存区域映射到本进程空间int shmid是那块共享内存的ID,也就是shmget的返回值char *shmaddr是共享内存的起始地址int shmflag是本进程对该内存的操作模式。如果是SHM_RDONLY的话就是只读模式。其它的是读写模式成功时这个函数返回共享内存的起始地址。失败时返回-1 例子#include stdio.h#include stdlib.h #define BUFSIZE 2048 int main(){int shmid;      //共享内存id号char *shmadd;   //创建本进程的共享内存映射空间if((shmidshmget(IPC_PRIVATE,BUFSIZE,0666))0) //第一个参数固定,第二个参数是2k内存,第三个参数是可读可写{//创建共享内存失败,出错处理}else{system(ipcs -m);      //执行系统命令, ipcs -m 进程间通讯状态 -m 活动的printf(-----------------------------------\n);}shmaddrshmat(shmid,NULL,0);        //将共享映射到本进程空间,并返回共享内存的地址system(ipcs -m);      //执行系统命令, ipcs -m 进程间通讯状态 -m 活动的printf(-----------------------------------\n);shmadt(shmdt(shmaddr)); //断开映射system(ipcs -m);      //执行系统命令, ipcs -m 进程间通讯状态 -m 活动的printf(-----------------------------------\n);} 转载于:https://www.cnblogs.com/flyxiang2010/archive/2010/12/17/1909107.html
http://wiki.neutronadmin.com/news/146323/

相关文章:

  • 聊城定制型网站开发984网站建设项目
  • 网站设计深圳联系电话?wordpress显示当前时间
  • 开发公司融资专干笔试百度搜索优化平台
  • 扁平化设计网站建设商铺装修找谁
  • 网站建设主要用什么软件利用网站宣传 两学一做
  • 哪里做网站最便宜网站建设与管理复习知识点
  • 资金盘做网站WordPress底部固定导航
  • 寻花问柳专注做男人喜爱的网站手机定制软件
  • 外贸仿牌网站被封的后果外贸网站怎么做才好
  • 网站建设完成之后要索取哪些电商网站建设求职定位
  • 临沂手机网站建设长沙网页制作开发公司
  • 短视频网站如何做推广阿里云网站商城建设
  • 网站建设的一些背景图片wordpress重定向地址不匹配
  • 烟台网站建设公司地址鹰潭市网站建设
  • 如何看网站的浏览量推广普通话演讲稿
  • 江苏省电力建设质量监督中心站网站揭阳网站制作服务
  • 高级网站开发工程师考试题视频营销网站
  • 南宁公司网站建设果洛wap网站建设
  • 东海建设局网站科技九洲君
  • 做单页网站价格网站欢迎页源码
  • 西宁做网站seo安岳网站建设
  • 如何租用服务器做网站关于公司建网站
  • 威海房地产网站建设沙河网络推广
  • 网站建设的行业网站游戏入口
  • 公司名称 网站域名 关联app开发公司哪家好 上海
  • 在哪个网站做图片视频带音乐电商设计学什么
  • 能力天空的网站建设优劣势不需要登录的网页小游戏
  • 防录屏网站怎么做网站设计方案图
  • 深圳网站建设 易通鼎wordpress内容批量替换
  • 酒店设计网站建设方案卫计局本年度网站建设工作总结