- 博客(3)
- 收藏
- 关注
原创 使用FIFO实现POSIX有名信号量
使用FIFO实现POSIX信号量算是一个《UNIX网络编程 卷二》中第十章的一个高级内容,其实数中仅仅是大致的实现了POSIX信号量中极为有限的一部分功能。书中重新写了sem_open函数、sem_unlink函数、sem_close函数、sem_wait函数和sem_post函数,为什么说使用FIFO仅仅实现了POSIX信号量中极为有限的一部分呢?我们需要从FIFO开始分析,分析完FIFO的性质
2013-10-29 16:40:15 976
原创 多个生产者与多个消费者的问题
在《UNIX网络编程 卷二》中看到了这个有关多个生产者与多个消费者的问题,书中指出多个消费者存在的意义需要看具体的应用程序。相对与多个生产者一个消费者的问题来说,我们需要额外的同步一下不同消费者之间的竞争。生产者则不需要作出任何改动,对于生产者来说所有的消费者是一个整体,反之对于消费者来说也是如此。 这里我们论述的生产者与消费者问题是基于多线程环境下实现的,我们采用几个基于内存的POSI
2013-10-25 10:47:18 4130
原创 POSIX信号量与生产着消费者问题
生产者与消费者问题是一个非常经典的问题,以《UNIX网络编程 卷二》中的样例为例,现在有一个或者多个生产者和一个消费者,生产者负责将一个数组内的所有元素赋值,数组中每个元素的值应该与其下表的值相等,而消费者负责校验生产者生产出来的产品。这个问题看起来也许不是很复杂,不过仅仅通过互斥锁与条件变量来实现的话仍然比较麻烦。这里一个无法避免的问题就是同步不同的生产者,使他们不重复生产或者错误生产,我们
2013-10-22 21:05:57 1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人