进程间通信
文章平均质量分 76
yyyyyyyuande
这个作者很懒,什么都没留下…
展开
-
Linux进程间通信五 Posix 信号量简介与示例
信号量用于进程或线程间同步,Posix信号量是一个非负整型,只有两种操作,加一(sem_post)和减一(sem_wait),如果信号量值为0,sem_wait默认阻塞。Posix信号量有两种,有名信号量和无名信号量,顾名思义,就是是否有名字。有名信号量有一个名字,长度不超过NAME_MAX-4(i.e. 251),因为内核会默认加上'sem.',所以这里要减4,名字以斜杠开头'/',后面跟上一个或多个非斜杠字符。不同进程可以通过同一个名字来操作有名信号量,sem_open用于创建或者获取已存在的信号量原创 2020-07-04 15:49:28 · 4676 阅读 · 0 评论 -
Linux进程间通信六 Posix 共享内存简介与示例
1. 共享内存简介共享内存主要用于不同进程之间相互通信,因为操作的是同一块地址,不需要内核和用户层之间数据拷贝,属于最快的进程间通信方式,不过,为了防止读写冲突,一般需要额外的同步手段。之前介绍了SystemV共享内存的使用方式,今天介绍下Posix共享内存。Posix 共享内存API主要有这几个,shm_open,用于获取或者创建一个共享内存文件描述符,ftruncate,用于设置共享内存的大小,新建的共享内存大小为0,mmap,用于将共享内存文件映射到进程的虚拟地址空间,其实共享内存真正核心的工作主原创 2020-07-04 15:50:12 · 1170 阅读 · 0 评论 -
Linux进程间通信四 Posix 消息队列简介与示例
1. 读取的时候,buffer要足够大。2. 需要手动mount看数据。3. 优先级队列,可以获取优先级参考文档https://www.man7.org/linux/man-pages/man7/mq_overview.7.html原创 2020-07-04 11:49:59 · 4692 阅读 · 0 评论 -
Linux进程间通信二 System V 消息队列简介与示例
1. SystemV消息队列简介2. API接口2. 1 创建或获取消息队列ID#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>/*** @brief 创建或获取消息队列ID** @params key 标识符,整形变量,三种方式,固定值,IPC_PRIVATE,ftok生成* @params msgflg,标志位,IPC_CREAT and IPC_EXCL.原创 2020-06-21 16:28:10 · 646 阅读 · 0 评论 -
Linux进程间通信三 System V 信号量简介与示例
提纲1. System V信号量简介2. 接口介绍3. 编程实例4. 开发注意事项原创 2020-06-26 14:28:32 · 442 阅读 · 0 评论 -
Linux进程间通信一 System V 共享内存简介与示例
提纲:System V简介共享内存简介API介绍1. 创建system v共享内存#include <sys/ipc.h>#include <sys/shm.h>/*** @brief 创建共享内存ID** @params key 与shm_id关联的key* @params size 共享内存的大小* @params shmflg 标志位和权限控制标志位,可以多个用or运算。IPC_PRIVATE、IPC_CREAT、 IPC_EXCL*.原创 2020-06-06 17:59:11 · 957 阅读 · 0 评论