![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
文章平均质量分 81
yaozhiyi
菜鸟阶段/感谢关注!
展开
-
OS: 生产者消费者问题(多线程+互斥量+条件变量)
一. 引子用多进程解决生产着消费者问题之后,再尝试多线程方法,才知道多线程多么地方便。多线程方案的易用性,一方面得益于强大的条件变量。赞,太好用了!二. 思路互斥量实际上相当于二元信号量,它是纯天然适合生产者消费者问题的解决方案,使用互斥量可以很好地描述生产者或者消费者独占缓冲区的特点。不过互斥量的能力也仅此而已,如果需要在使用线程方案时提供更复杂的逻辑,则需要配合使用条件变量。生原创 2012-05-13 22:45:03 · 5451 阅读 · 0 评论 -
OS: 生产者消费者问题(多进程+共享内存+信号量)
一. 引子时隔一年再次用到 cout 的时候,哥潸然泪下,这是一种久别重逢的感动,虽然基本忘光了。趁着有大把时间,再把生产者消费者问题巩固一下,用纯C吧。珍惜能写代码的幸福时光。二. 分析生产者和消费者问题是多个相互合作的进程之间的一种抽象。生产者和消费者之间的关系:1. 对缓冲区的访问是互斥的。由于两者都会修改缓冲区,因此,一方修改缓冲区时,另一方不能修改,这就是互斥。原创 2012-05-13 14:46:15 · 17779 阅读 · 7 评论 -
OS: 读者写者问题(写者优先+LINUX+多线程+互斥量+代码)
一. 引子最近想自己写个简单的 WEB SERVER ,为了先练练手,熟悉下在LINUX系统使用基本的进程、线程、互斥等,就拿以前学过的 OS 问题开开刀啦。记得当年学读者写者问题,尤其是写者优先的时候,那是真心纠结啊。刚才还觉得理解了,过一会儿又糊涂了。现在重新再看,还是容易纠结。没办法,用得少。我把读者优先和写者优先都实现了一下。选择性重看了小部分《unix高程》使用了多线程+互斥量实现。原创 2012-05-15 02:19:21 · 13660 阅读 · 5 评论