2013年8月29日

Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

摘要: Linux进程间通信IPC学习笔记之同步二(SVR4 信号量) 阅读全文

posted @ 2013-08-29 20:26 鹰之翔 阅读(146) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之同步二(Posix 信号量)

摘要: Linux进程间通信IPC学习笔记之同步二(Posix 信号量) 阅读全文

posted @ 2013-08-29 20:25 鹰之翔 阅读(177) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之同步一(线程、互斥锁和条件变量)

摘要: 基础知识:测试代码:参考资料:Posix 多线程程序设计 阅读全文

posted @ 2013-08-29 20:24 鹰之翔 阅读(185) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之消息队列(SVR4)

摘要: Linux进程间通信IPC学习笔记之消息队列(SVR4) 阅读全文

posted @ 2013-08-29 20:22 鹰之翔 阅读(223) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之消息队列(Posix)

摘要: 基础知识:消息队列可认为是一个消息链表,有足够写权限的线程可往队列中放置消息,有足够读权限的线程可以从队列中取走消息。在某个进程往一人队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。其特性为:1)具有内核的持续性:即当一个进程往某一个队列写入一些消息后终止,而另一个进程可以在以后的某个时刻取出该消息;2)#include mqd_t mq_open(const char *name, int oflag, ... /* mode_t mode,struct mq_attr *attr */);返回:若成功则返回消息队列描述符,否则... 阅读全文

posted @ 2013-08-29 20:21 鹰之翔 阅读(326) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之有名管道

摘要: 基础知识:有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版。使用其应注意两点:1)有一个与路径名关联的名字;2)允许无亲缘关系的进程通信;3)读写操作用read和write函数;4)有open打开有名管道时,必须只能是只读或只写#include #include int mkfifo(const char *pathname, mode_t mode);参数:pathname是一个普通的Unix路径名,为FIFO的名字;mode用于给一个FIFO指定权限位返回:若成功返回0,否则返回-1#include 阅读全文

posted @ 2013-08-29 20:18 鹰之翔 阅读(255) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记之管道

摘要: 基础知识:管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版。使用其应注意两点:1)没有名字;2)用于共同祖先间的进程通信;3)读写操作用read和write函数#include int pipe(int fildes[2]);返回:成功返回1,否则返回-1.创建成功的两个文件描述符:f[0]和f[1],前者用来打开读,后者用来打开写。#include ssize_t read(int fildes, void *buf, size_t nbyte);ssize_t write(int fildes, const void *buf, size_t nbyte);测试代码:代 阅读全文

posted @ 2013-08-29 19:50 鹰之翔 阅读(251) 评论(0) 推荐(0) 编辑

Linux进程间通信IPC学习笔记

摘要: linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。Linux则把两者继承了下来,如图示:其中,最初Unix IPC包括:管道、FIFO、信号;System V IPC包括:System V消息队列、System V信号灯、Syste 阅读全文

posted @ 2013-08-29 18:40 鹰之翔 阅读(215) 评论(0) 推荐(0) 编辑

Linux多进行之fork

摘要: 1 #include //定义该函数 2 #include //定义函数的返回类型pid_t 3 /* 4 功能:复制进程 5 参数:无 6 返回值: 成功: 父进程:返回子进程id 7 子进程:返回0 8 失败: 返回-1 9 */ 10 pid_t fork(void); 11 12 函数说明:13 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是... 阅读全文

posted @ 2013-08-29 17:40 鹰之翔 阅读(239) 评论(0) 推荐(0) 编辑

导航