正在加载图片...
利用软件方法解决进程互斥问题3 算法3 算法2是先检测对方进程状态标志后再置自己标志,由于在检 测和放置中可插入另一个进程时检测操作,会造成二个进程 在分别检测后同时进入临界区。为此算法3米用先设置自己标 志后再检测对方状态标志,它的程序如下,布尔型数组fag[], 如第个元素值为 false-fag[i]= false--表示Pi进程未进入临界 区,值为true-- flags]ue--表示Pi进程进入临界区/要求进 入CS Pi: repeat repeat ag true laglj]: = true while flaglj do no op; while flagli do no op critical section I critical section flagli]: =false flag Lj]: - false remainder section remainder section until false 计算机操作系 until false2001年9月20日9时1分 计算机操作系统 利用软件方法解决进程互斥问题-3 算法3: 算法2是先检测对方进程状态标志后再置自己标志,由于在检 测和放置中可插入另一个进程时检测操作,会造成二个进程 在分别检测后同时进入临界区。为此算法3采用先设置自己标 志后再检测对方状态标志,它的程序如下,布尔型数组 flag[], 如第i个元素值为false--- flag[i]=false----表示Pi进程未进入临界 区,值为true--- flag[i]=true------表示Pi进程进入临界区/要求进 入CS。 Pi:repeat Pj:repeat flag[i]:=true; 2 flag[j]:=true; while flag[j] do no_op; while flag[i] do no_op; critical_section; 1 critical_section; flag[i]:=false; flag[j]:=false; remainder section; remainder section; until false until false
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有