[理工] 102 交大 计组

楼主: ssssIssss (没咩约吗)   2016-12-17 21:19:53
http://i.imgur.com/Jx1eItZ.jpg
14题
不太懂整个moniter的流程,哪位神人大大可以解释一下>"<
作者: Transfat (Transfat)   2016-12-17 22:01:00
是不是忘记贴啥了
作者: newpuma (还很新)   2016-12-17 22:29:00
……
作者: lrt89604 (Sazanami)   2016-12-17 23:26:00
这真的要神人才知道了
作者: hopward (hopward)   2016-12-18 00:26:00
这连神人都没办法 应该要神才有办法了
作者: fsab00070875 (MilkHEAD)   2016-12-18 02:59:00
所以我说的那个酱汁呢?打错,图呢?
作者: aa06697 (todo se andarà)   2016-12-18 15:01:00
这个code是hoare monitor: process在signal后会让被救的process先进来然后自己进去一个特别的queue(优先权比condition readyqueue还高的queue)next_count用来记录有多少个“救命恩人” 因为在processwait的时候 代表cpu要给其他人 而此时若有救命恩人要优先救他 没有才让其他在等待的process进入monitor所以lineA lineB 就跟最左边那格的code一样然后wait的process会卡在wait(x_sem) lineC就是signal(x_sem) 要救在wait的process 然后wait(next) 就是让救命恩人进去特别queue的用途补充一下 semaphore的wait跟monitor的wait意义不太一样喔一个是抢执行权 一个是强迫去condition variable的queue休息
作者: yupog2003 (屁股)   2016-12-18 16:25:00
看完楼上的讲解感觉又好像再把洪逸讲的听了一遍,感谢
作者: aa06697 (todo se andarà)   2016-12-19 15:21:00
yes

Links booklink

Contact Us: admin [ a t ] ucptt.com