摘要:
在上一篇“OS: 生产者消费者问题(多进程+共享内存+信号量)”中提到的方法二:如果进程之间并没有父子关系,但是协商好了共享存储的 KEY , 那么在每个进程中,就可以通过 KEY 以及 shmget 函数获得共享存储的 I D , 进而通过 shmat 函数获得共享存储的实际地址,最后访问。本文采用此种方式进行同步生产者和消费者。1、头文件myshm.h: 要用到的定义和说明/* * myshm.h * * Created on: Aug 3, 2013 * Author: root */#ifndef MYSHM_H_#define MYSHM_H_#endif /* MYSH... 阅读全文
摘要:
转:http://blog.csdn.net/yaozhiyi/article/details/7561759一. 引子时隔一年再次用到 cout 的时候,哥潸然泪下,这是一种久别重逢的感动,虽然基本忘光了。趁着有大把时间,再把生产者消费者问题巩固一下,用纯C吧。珍惜能写代码的幸福时光。二. 分析生产者和消费者问题是多个相互合作的进程之间的一种抽象。生产者和消费者之间的关系:1. 对缓冲区的访问是互斥的。由于两者都会修改缓冲区,因此,一方修改缓冲区时,另一方不能修改,这就是互斥。2. 一方的行为影响另一方。缓冲区不空,才能消费,何时不空?生产了就不空;缓冲区满,就不能生产,何时不满?消费了就不 阅读全文