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

个人网站备案涉及支付宝电子商务的就业方向

个人网站备案涉及支付宝,电子商务的就业方向,seo公司怎样找客户,win2008r做网站1.共享内存原理及优缺点 共享内存的原理便是将相同的一片物理内存映射到进程A和进程B不同的逻辑地址空间#xff0c;两个进程同时访问这块物理内存#xff08;共享内存#xff09;。 1#xff09;优点 共享内存是进程间通信访问速度最快。 例如消息队列#xff0c;FIFO两个进程同时访问这块物理内存共享内存。 1优点 共享内存是进程间通信访问速度最快。 例如消息队列FIFO管道的消息传递方式一般为 1服务器得到输入 2通过管道消息队列写入数据通常需要从进程拷贝到内核。 3客户从内核拷贝到进程 4然后再从进程中拷贝到输出文件 上述过程通常要经过4次拷贝才能完成文件的传递。 而共享内存只需要两次拷贝 1:从输入文件到共享内存区 2:从共享内存区输出到文件 上述过程减少了数据不必要的拷贝以及用户态和内核态之间的切换所以花的时间较少和访问进程独有的内存区域一样快。 2缺点 共享内存是进程间不安全的需要使用额外的同步进制来控制对共享内存的访问常用的是信号量。 2.查看系统共享内存 ipcs -m //查看系统的共享内存 ipcrm -m [shmid] //删除指定共享内存段3.函数API 1获取共享内存 int shmget(key_t key, size_t size, int shmflg);keyftok生成的key标识在系统中是唯一的 size共享内存大小系统申请内存的最小单位是页一页是4K字节为了避免大量的碎片申请内存大小一般是页的整数倍为0代表只是获取已经创建好的共享内存 shmflag和信号量等相同IPC_CREAT | IPC_EXCL则代表不存在则创建存在则返回失败0代表获取共享内存标识符若不存在则函数会报错。 2映射共享内存 void *shmat(int shmid, const void *shmaddr, int shmflg);shmid 共享内存ID shmaddr 起始虚拟地址空间NULL则是由系统自动分配 shmflag一般为0可以给SHM_RDONLY为只读模式其他的为读写 返回值成功返回虚拟地址出错返回-1 fork后子进程继承已连接的共享内存地址。exec后该子进程与已连接的共享内存地址自动断开映射。进程结束后连接的共享内存也会断开映射。 必须所有映射到共享内存的进程都断开映射才会删除这片共享内存 3断开共享内存映射 int shmdt(const void *shmaddr);shmdt 断开共享内存映射断开不代表删除共享内存只是断开映射的线路 shmaddr共享内存地址 4控制共享内存 int shmctl(int shmid, int cmd, struct shmid_ds *buf);shmid 共享内存ID cmd执行的具体操作 IPC_RMID表示可以删除共享内存 IPC_STAT得到共享内存的状态把共享内存的shmid_ds结构复制到buf中 IPC_SET改变共享内存的状态把buf所指的shmid_ds结构中的uid、gid、mode复制到共享内存的shmid_ds结构内 buf共享内存管理的结构体 必须所有映射到共享内存的进程都断开映射才会删除这片共享内存 4.例程 1write端代码 #include apue.h #include sys/ipc.h #include sys/shm.h //write hello world //another program read this msgint main(int argc, char **argv) {//1.根据文件和id获取keykey_t key;key ftok(., 2);//2.根据key创建共享存储区int shmid 0;shmid shmget(key, 1024, IPC_CREAT|IPC_EXCL|0666);if (shmid -1) {perror(shmget error);return -1;}//3.连接共享存储区和进程地址空间char *shmaddr NULL;shmaddr shmat(shmid, 0, 0);if (shmaddr (char *)-1) {perror(shmat error);return -1;}//4.写入数据strcpy(shmaddr, hello world);sleep(5);//5. 断开共享存储连接shmdt(shmaddr);//6. 删除共享存储区shmctl(shmid, IPC_RMID, NULL);printf(success write!!\n);return 0; }2read端代码 #include stdio.h #include string.h #include sys/ipc.h #include sys/shm.h //write hello world //another program read this msgint main(int argc, char **argv) {//1.根据文件和id获取keykey_t key;key ftok(., 2);//2.根据key创建共享存储区int shmid 0;shmid shmget(key, 0, 0);if (shmid -1) {perror(shmget error);return -1;}//3.连接共享存储区和进程地址空间char *shmaddr NULL;shmaddr shmat(shmid, 0, 0);if (shmaddr (char *)-1) {perror(shmat error);return -1;}printf(read data is %s \n, shmaddr);//5. 断开共享存储连接shmdt(shmaddr);printf(success read!!\n);return 0; }gcc编译后测试效果如下~当然这只是一个简单的demo正常我们使用的话一定要用信号量等手段进行共享内存的保护
http://www.zqtcl.cn/news/16280/

相关文章:

  • 设计师兼职网站建站技术服务
  • 百度怎么做公司的网站哪个网站可以做c 的项目
  • 银川建设网站公司网站建设专员 岗位职责
  • 网站开发需求文档模板网站建设规划方案.ppt
  • 临汾网站开发小说系统 wordpress
  • 外贸联系网站网络营销的四种策略
  • 网站项目下载公司企业免费网站系统
  • 亚马逊怎么做网站推广重庆企业网站推广服务
  • windows 2008 iis添加网站免费的背景视频素材
  • 图标logo设计网站百度排名优化
  • 厦门做网页网站的公司做基因表达热图的网站
  • 手机网站 cms企业推广宣传方式
  • 简约风网站首页怎么做seo关于网站搜索排名关键词的标准评定
  • .net网站制作综合实训报告wordpress的模板在哪里改
  • 铁岭哪家做营销型网站wordpress文件核对
  • 制作网站商中国宁波网宁波新闻
  • 网站开发公司 经营范围建网站主机
  • 屏蔽蜘蛛网站还会被收录吗建设摩托125图片大全
  • 设计产品郑州专业seo哪家好
  • 合肥建设公司网站深圳做网站建设和维护专员管理层
  • 官方网站的资料做证据网站响应式设计
  • 上海网站制作建设多少钱内蒙古网站seo优化
  • 网站程序更换网页版微信官方登录
  • 网站开发新技术安康教育平台
  • 做兼职的网站都有哪些工作怎么样制作一个公司网站
  • 企业做淘宝客网站有哪些wordpress自定义的注册页面
  • 上海工程建设执业资格注册中心网站天元建设集团有限公司商票
  • 网站建设活动海报汽车网站模板免费下载
  • 只有一个人网站开发广州17年seo优化技术电话
  • 做30个精品网站如何在外国网站卖东西