24小时热门版块排行榜    

查看: 2009  |  回复: 25

X_huu

金虫 (小有名气)

21楼2016-11-29 15:16:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

X_huu

金虫 (小有名气)

22楼2016-11-29 15:16:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0602114042

银虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
mutex这个是临界区插入取出的锁,每次操作前后都申请锁和释放锁了,没问题
至于empty和full是两个资源,所以不用上面的mutex去锁

每个角色读写empty和full时不冲突,举例子极端情况下消费者up一个empty后,
生产者立马down一个empty或者在消费者之前down
虽然不是原子操作,会涉及到一个变量读写,
但是想想,
如果empty是up状态的话,无非生产者down就行了
如果empty是down状态的话,无非生产者继续等待消费者up后再down就行了
这里应该是while反复尝试,不成功就continue(感觉代码是伪代码,少了这一点,可能会死锁)
23楼2016-11-29 22:49:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neotsu

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
没看到完整的程序,只看到部分,所以以下是猜测

mutex不是内部的类,而是定义的semaphore信号量的变量,所以从身份上来讲,它和full/empty是等同的。

因此,猜想,在insert / remove函数中,对此有相应的判断。

而且,可能是用0和非0来判断,而不是0和1.
Nothinginteresting
24楼2016-11-30 02:14:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

本帖仅楼主可见
25楼2018-05-02 17:05:19
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

guanchu

铜虫 (正式写手)

活着就是为了玩命
26楼2018-05-16 22:29:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 X_huu 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见