2014年1月18日

linux信号量

摘要: 1.1 创建信号量int semget( key_t key, //标识信号量的关键字,有三种方法:1、使用IPC——PRIVATE让系统产生, // 2、挑选一个随机数,3、使用ftok从文件路径名中产生 int nSemes, //信号量集中元素个数 int flag //IPC_CREAT;IPC_EXCL 只有在信号量集不存在时创建)成功:返回信号量句柄失败:返回-11.2 使用ftok函数根据文件路径名产生一个关键字key_t ftok(const char *pathname,int proj_id);路径名称必须有相应权限key_t key;key = ftok(".& 阅读全文

posted @ 2014-01-18 20:43 yuanqing 阅读(361) 评论(0) 推荐(0)

共享内存能否存放带有指针的结构体?

摘要: 共享内存是第二种IPC工具。他允许两个无关的进程访问相同的逻辑内存。共享内存是在两个运行的程序之间传递数据的有效手段。尽管X/Open标准并没有要求,很可能绝大数的共享内存实现都是会将不同进程之间正在共享的内存安排在相同的物理内存中。 共享内存为在多个进程之间共享与传递数据提供一个有效的手段。因为他并没有提供同步的方法,所以通常我们需要使用其他的机制来同步对共享内存的访问。通常,我们也许会使用共享内存来提供对大块内存区的有效访问,并且传递少量的消息来同步对此内存的访问。 向共享内存存放带有指针的结构体时,当再次向共享内存取出这个指针的值时,会出现内存错误。 结构体结构如下: t... 阅读全文

posted @ 2014-01-18 20:39 yuanqing 阅读(3440) 评论(1) 推荐(0)

导航