一管道的局限性管道有两个局限性:(1)他是半双工(即数据只能在一个方向上流动)。(2)它只能在具有公共祖先的进程之间使用。一个管道由一个进程创建,然后该 进程调用fork,此后父子进程之间就可该管道。二 管道的创建 用函数pipe创建:#includeint pipe(int files[2]);参...
分类:
系统相关 时间:
2014-10-21 11:45:47
阅读次数:
231
来自:http://blog.csdn.net/scorpio16/article/details/2059623UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较...
分类:
其他好文 时间:
2014-10-20 21:14:27
阅读次数:
180
Python threading模块提供了Event对象用于线程间通信,它提供了设置、清除、等待等方法用于实现线程间的通信。event是最简单的进程间通信方式之一,一个线程产生一个信号,另一个线程则等待该信号。Python 通过threading.Event()产生一个event对象,event对象维护一个内部标志(标志初始值为False),通过set()将其置为True,wait(timeout)则用于阻塞线程直至Flag被set(或者超时,可选的),isSet()用于查询标志位是否为True,Clear...
分类:
编程语言 时间:
2014-10-20 19:36:11
阅读次数:
177
一 TCP/IP和socket
我们需要对网络传输,特别是TCP/IP协议和socket有一定的了解。
socket是进程间通信的一种方法,它是基于网络传输协议的上层接口。
socket有许多种类型,比如基于TCP协议或者UDP协议(两种网络传输协议)。其中又以TCP socket最为常用。
TCP socket与双向管道(duplex PIPE)有些类似,一个进程向socket的一端写入...
分类:
编程语言 时间:
2014-10-20 10:03:53
阅读次数:
274
本节主要学习信号和与信号相关的处理函数,后续还会更新。
一 信号
信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。
二 信号的种类
Signal Description...
分类:
系统相关 时间:
2014-10-19 18:41:51
阅读次数:
396
http://blog.csdn.net/guopengzhang/article/details/5528260http://www.ibm.com/developerworks/cn/linux/l-ipc/http://www.cnblogs.com/mydomain/archive/2010...
分类:
系统相关 时间:
2014-10-18 01:53:44
阅读次数:
216
Linux系统中的进程通信方式主要以下几种:同一主机上的进程通信方式* UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal)* System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shar...
分类:
编程语言 时间:
2014-10-17 02:11:33
阅读次数:
182
1.管道的创建
1.1 mkfifo(const char *pathname,mode_t mode);
函数已隐含指定O_CREAT|O_EXCL,所以它要么创建一个新的FIFO,要么返回EEXIST错误(已存在)。
所以在创建已存在FIFO或新的FIFO,应该先调用mkfifo,并检查返回值 是否是EEXIST错误,若是EEXIST错误,则调 用open函数。
...
分类:
系统相关 时间:
2014-10-17 01:16:23
阅读次数:
299
进程间通信(IPC:Inner Proceeding Communication)
进程是操作系统实现程序独占系统运行的假象的方法,是对处理器、主存、I/O设备的抽象表示。每个进程都是一个独立的资源管理单元,每个进程所看到的是自己独占使用系统的假象,因此各个进程之间是不能够直接的访问对方进程的资源的,不同的进程之间进行信息交互需要借助操作系统提供的特殊的进程通信机制。
进程之间的通信,从物理上...
分类:
系统相关 时间:
2014-10-13 23:40:47
阅读次数:
341