正在加载图片...
利用软件方法解决进程互斥问题-2 算法2: 算法基本思想:在每一个进程访问临界区资源之前,先动査看 下临界资源是否正被访问,若正被访问,该进程需等待, 否则才进入自己的临界区。为此设置了一个布尔型数组fag], 如第个元素值为 false-fag[i]= false--表示Pi进程未进入临界 区,值为true-- flag[i]ue--表示P进程进入临界区 Pi: repeat Pj: repeat while flaglj] do no op; while flagli do no op flagli]: =true 2 flaglj]: true critical section:- 1 critical section flagli]: false flag[j]: false remainder section remainder section until false until false 会出现Pi和Pj同时进入临界区错误,违背忙则等待。 2001年9月20日9时1分 计算机操作系统2001年9月20日9时1分 计算机操作系统 利用软件方法解决进程互斥问题-2 算法2: 算法基本思想:在每一个进程访问临界区资源之前,先动查看 一下临界资源是否正被访问,若正被访问,该进程需等待, 否则才进入自己的临界区。为此设置了一个布尔型数组 flag[], 如第i个元素值为false--- flag[i]=false----表示Pi进程未进入临界 区,值为true--- flag[i]=true------表示Pi进程进入临界区。 Pi:repeat Pj:repeat while flag[j] do no_op; while flag[i] do no_op; flag[i]:=true; 2 flag[j]:=true; critical_section; 1 critical_section; flag[i]:=false; flag[j]:=false; remainder section; remainder section; until false until false 会出现Pi和Pj同时进入临界区错误,违背忙则等待
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有