Key-word: 命名管道,共享内存,文件锁,信号量, select, mkfifo, shmget(share memory get),semget(semaphore get)
基本概念:
IPC: InterProcess Communication
竞态条件(race condition),指两个或多个进程对共享的数据进行读或写的操作时,最终的结果取决于这些进程的执行顺序。
内容概述:
本章主要讲解了进程间几种其他的通信方式:文件,命名管道,共享内存。并对所有讲过的IPC进行了总结和比较。
15.2.2 select系统调用
它允许程序挂起,并等待从不止一个文件描述符的输入。
15.3.2 通过文件的进程间通信
为了避免在使用文件进行通信时出现竞态条件,应该和文件锁共同使用。
15.3.3 命名管道(namedpipe)
与chapter10所讲管道的区别。Chapter10所将的pipe通常和fork配合使用,用于父进程和子进程间进行通信。本章所讲的命名管道用于同一台机器上两个无关的进程进行通信。
15.3.4 共享内存(sharedmemory)
共享内存相对于进程,类似于共享变量类似于线程。
为了避免在用共享内存进行通信时出现竞态条件,通常应该和信号量一起使用。