![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
zy3381
这个作者很懒,什么都没留下…
展开
-
操作系统同步算法(一)
最近接触了一些多线程的程序设计,主要涉及到使用多线程对一个缓冲区的数据进行读写。以前觉得多线程好像也不怎么难,到这时候才发现原来是自己所接触到的多线程程序太简单了。好了,废话不多说,直接切入主题,操作系统同步算法。 本科时候所学习的操作系统课程,里面有一个非常重要的部分是关于进程的同步,考试也是必考内容,以前一直感觉晕晕的,想不到这个时候验证了“出来混总是要还的”这句...原创 2012-11-23 12:39:03 · 682 阅读 · 0 评论 -
操作系统同步算法(二)
上一篇文章中,我们已经通过多线程以及互斥锁来实现了读写互斥的简单的读者写者算法。由于这种设计会存在一种线程“饿死”的情况,这里我们进行一下简单的改进,使得读写操作能够互斥并且交替的进行。 [code="c"] /** **读写互斥问题 **读的时候不能写,写的时候不能读 **读写交替 **/ #include #include //声明一把互斥锁 pthread_mutex...原创 2012-11-23 12:57:34 · 180 阅读 · 0 评论 -
操作系统同步算法(三)
上一篇文章中,我们通过增加一个变量作为标识,从而判断出读者和写者所共享的缓冲区是否有内容,从而实现读写交替,而不是一个线程不停的运行,另外一个“饿死”。 实际上,操作系统里出了互斥锁,还提供了信号量来实现并发情况下的同步。 [code="c"] /** **读写互斥问题 **读的时候不能写,写的时候不能读 **读写交替(使用信号量) **/ #include #inclu...原创 2012-11-23 13:10:33 · 231 阅读 · 0 评论