随笔分类 -  IPC

摘要:pipe()函数: popen()和pclose()函数: mkfifo()函数: 此处仅仅给出相关函数说明,有关于pipe的具体信息请自行查找。 示例1: 由子进程读取一个文件,通过管道将读取内容发送给父进程,再由父进程打印到标准输出 被读取的文件内容: 执行情况: 第一次执行时,子进程读取文本文 阅读全文
posted @ 2018-12-16 19:12 荒唐了年少 阅读(200) 评论(0) 推荐(0)
摘要:共享内存区: 共享内存区时IPC形式中最快的。因为当共享内存区映射到共享它的进程的地址空间,这些进程间数据的传递就不在涉及内核(进程不在通过执行任何进入内核的系统调用来传递数据)。 共享内存区: 与其他IPC形式相比,进程通过共享内存区传递数据的步骤: 注意:默认情况下,通过fork()派生的子进程 阅读全文
posted @ 2018-10-13 16:48 荒唐了年少 阅读(1058) 评论(0) 推荐(0)
摘要:System V 信号量 在提到Posix 信号量时,指的是二值信号量或计数信号量,而System V信号量指的是入了计数信号量集 二值信号量:其值为0或1,类似于互斥锁,资源被锁住时为0,资源可用为1计数信号量:其值在0和某个限制值之间的信号量,信号量的值就是可用资源数计数信号量集:一个或多个信号 阅读全文
posted @ 2018-10-04 11:52 荒唐了年少 阅读(317) 评论(0) 推荐(0)
摘要:Posix信号量: 分类: Posix有名信号量:使用Posix IPC名字标识,可用于线程或进程间同步Posix基于内存的信号量:存放在共享内存区中,可用于进程或线程间的同步 sem_open()、sem_close()、sem_unlink()函数: #include <semaphore.h> 阅读全文
posted @ 2018-09-28 22:49 荒唐了年少 阅读(756) 评论(0) 推荐(0)
摘要:读写锁: 用于对于某个给定资源的共享访问,而不是像互斥锁那样,将所有试图进入临界区的线程都阻塞住 相关内容: 线程互斥锁 分配规则:(写独占,读共享) 1.只要没有线程持有某个给定的读写锁用于写,那么任意数目的进程可以持有该读写锁用于读2.仅当没有线程持有某个给定的读写锁用于写或读时,才能分配该读写 阅读全文
posted @ 2018-09-25 09:41 荒唐了年少 阅读(526) 评论(0) 推荐(0)
摘要:Posix消息队列(message queue) IPC函数中常用的参数取值: 打开或创建POSIX IPC对象所用的各种oflag常值o_RDONLY 只读O_WRONLY 只写O_RDWD 读写O_CREAT 若不存在则创建,存在则引用O_EXCL 排他性创建,需要和O_CREAT一起使用,当对 阅读全文
posted @ 2018-09-24 23:24 荒唐了年少 阅读(584) 评论(0) 推荐(0)
摘要:System V IPC 将一个已保存的路径名和一个整数标识符转换成一个key_t值,称为IPC键key_t:System V IPC(System V消息队列、System V信号量、System V共享内存区)将key_t作为它们的名字 ipc_perm结构: 内核给每个IPC对象维护一个信息结 阅读全文
posted @ 2018-09-24 23:11 荒唐了年少 阅读(226) 评论(0) 推荐(0)
摘要:互斥锁 条件变量: pthread_cond_wait必须放在pthread_mutex_lock和pthread_mutex_unlock之间,因为他要根据共享变量的状态来觉得是否要等待,而为了不永远等待下去所以必须要在lock/unlock队中 pthread_cond_signal通常唤醒等在 阅读全文
posted @ 2018-09-24 23:05 荒唐了年少 阅读(811) 评论(0) 推荐(0)