zoukankan      html  css  js  c++  java
  • 浅析Linux下进程间通信:共享内存

    浅析Linux下进程间通信:共享内存

     

    共享内存允许两个或多个进程共享一给定的存储区。因为数据不需要在客户进程和服务器进程之间复制,所以它是最快的一种IPC。使用共享内存要注意的是,多个进程之间对一给定存储区的同步访问。

    主要用到的函数有:shmget(),shmctl(),shmat(),shmdt(),下面一一介绍:

     一、shmget()函数

     函数原型如下:

    #include <sys/ipc.h>
    #include <sys/shm.h>
    int shmget(key_t key, size_t size, int shmflg); 

    1. 函数功能:返回和key对应的共享内存标识符。分为两种情况:

    1)该共享内存已经存在,则直接返回该共享内存标识符

    2)key未对应相关的共享内存,此时若将key指定为IPC_PRIVATE或者将标志位shmflg上指定IPC_CREATE,该调用将产生一个新的共享内存,并与key及进行对应。

    2.参数介绍:

    size:为该共享内存的的长度,单位为字节。实现通常将其向上取为系统页长的整数倍。如果正在创建一个新内存段(一般是在服务器进程中),则必须指定其size。如果正在引用一个现存的内存段(一个客户进程),则将size指定为0。当创建一个新内存段时,段内的内容初始化为0。

    待续。。。。。。。。。。

  • 相关阅读:
    web服务器,应用程序服务器,http服务器的区别
    tomcat、weblogic、jboss的区别,容器的作用
    linux系统编辑神器 -vim用法大全
    web弹出对话框
    c#获取打印机列表
    cookie
    lodop打印多页
    lodop判断是否打印成功
    一般处理程序
    让图片在div中居中
  • 原文地址:https://www.cnblogs.com/bettercoder/p/3672116.html
Copyright © 2011-2022 走看看