进程间通信
文章平均质量分 89
小心眼儿猫
这个作者很懒,什么都没留下…
展开
-
进程间通信(四)---信号量
信号量主要用于同步和互斥的。 进程互斥: 1:由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程竞争使用这些资源,进程的这种关系就叫做进程互斥 2:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源 3:在进程中涉及到互斥资源的程序段叫临界区 例如: 进程同步 进程同步指的是多个进程之间相互配合共同完成一项任务 比如我们日常生活中的原创 2018-04-15 13:11:17 · 273 阅读 · 0 评论 -
进程间通信(二)---消息队列
前面我们讲了进程间通信的其中一种方式,进程间通信(一)—管道,现在我们来讲一下另外一种方式就是消息队列。 1: 消息队列提供了从一个进程向另外一个进程发送一块数据的方法。 2:每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值。 3:消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数也是有上限的(MSGM...原创 2018-04-12 21:30:47 · 212 阅读 · 0 评论 -
进程间通信(三)---共享内存
共享内存区是最快的IPC形式。一旦这样的内存映射到共享他的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说就是进程不再通过执行进入内核的系统调用来传递彼此的数据。 共享内存示意图 共享内存数据结构struct shmid_ds { struct ipc_perm shm_perm; /* operation perms */ int shm_segsz原创 2018-04-12 23:07:46 · 158 阅读 · 0 评论 -
管道、消息队列、共享内存、信号量的特点
在之前我们已经了解过了进程间通信的几种方式:管道、消息队列、共享内存以及信号量。今天我们就来总结一下这几种方式的各自的特点分别是什么,和他们相应的应用场景。也是对于这个知识点的一个复习和巩固。 Q1:为什么要有进程间通信??? A1: 1、为了传输数据:一个进程需要将它的数据发送给另外一个进程; 2、为了共享资源:多个进程之间有时需要共享同样的一份资源; 3、为了通知事...原创 2018-08-16 22:52:55 · 2110 阅读 · 0 评论