ÔÆÌ⺣ - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µ±Ç°Î»ÖãºÊ×Ò³ > ²Ù×÷ϵͳ½Ì³ÌµÚ5°æ²¿·ÖϰÌâ±ê×¼´ð°¸

²Ù×÷ϵͳ½Ì³ÌµÚ5°æ²¿·ÖϰÌâ±ê×¼´ð°¸

  • 62 ´ÎÔĶÁ
  • 3 ´ÎÏÂÔØ
  • 2025/6/15 12:59:52

£¨1£© ¹«ÓÃÐźÅÁ¿£» £¨2£© ˽ÓÐÐźÅÁ¿¡£ °´È¡Öµ·Ö

£¨1£© ¶þÖµÐźÅÁ¿£» £¨2£© Ò»°ãÐźÅÁ¿¡£

15.ºÎν¹Ü³Ì£¿ËüÓÐÄÄЩÊôÐÔ£¿

¹Ü³ÌÊÇÓɾֲ¿ÓÚ×Ô¼ºµÄÈô¸É¹«¹²±äÁ¿¼°ÆäÉùÃ÷ºÍËùÓзÃÎÊÕâЩ¹«¹²±äÁ¿µÄ¹ý³ÌËù×é³ÉµÄÈí¼þÄ£¿é£¬ËüÌṩһÖÖ»¥³â»úÖÆ£¬½ø³Ì¿ÉÒÔ»¥³âµØµ÷Óù̵ܳĹý³Ì¡£

£¨1£© ¹²ÏíÐÔ£» £¨2£© °²È«ÐÔ£» £¨3£© »¥³âÐÔ¡£

25.ÊÔÊö²úÉúËÀËøµÄ±ØÒªÌõ¼þ¡¢ËÀËø²úÉúµÄÔ­Òò¼°Ô¤·ÀËÀËøµÄ·½·¨¡£ (1) (2) (3) (4)

»¥³âÌõ¼þ£»

Õ¼Óк͵ȴýÌõ¼þ£» ²»°þ¶áÌõ¼þ£» Ñ­»·µÈ´ýÌõ¼þ¡£

½ø³ÌÍÆ½øË³Ðò²»µ±¡¢PV²Ù×÷ʹÓò»Íס¢Í¬Àà×ÊÔ´·ÖÅä²»¾ù»ò¶ÔijЩ×ÊÔ´µÄʹÓÃδ¼ÓÏÞÖÆµÈ£¬²»½öÓëϵͳӵÓеÄ×ÊÔ´ÊýÁ¿Óйأ¬¶øÇÒÓë×ÊÔ´·ÖÅä²ßÂÔ¡¢½ø³Ì¶Ô×ÊÔ´µÄʹÓÃÒªÇóÒÔ¼°²¢·¢½ø³ÌµÄÍÆ½øË³ÐòÓйء£

£¨1£© ÆÆ»µÌõ¼þ1£¨»¥³âÌõ¼þ£©£»

£¨2£© ÆÆ»µÌõ¼þ2£¨Õ¼Óк͵ȴýÌõ¼þ£©£» £¨3£© ÆÆ»µÌõ¼þ3£¨²»°þ¶áÌõ¼þ£©£» £¨4£© ÆÆ»µÌõ¼þ4£¨Ñ­»·µÈ´ýÌõ¼þ£©¡£

¶þ¡¢ 2¡¢

´ð£º²»Í¬

£¨1£©:³õֵΪ1£¬·¶Î§Îª[-n+1,1]£»£¨2£©£º³õֵΪm£¬·¶Î§Îª[-n+m,m]¡£ 5¡¢´ð£º1)ʹÓÃÐźÅÁ¿ºÍP¡¢V²Ù×÷£º

var name: array[1..100] of A¡£

A=record number:integer¡£ name:string¡£ end

for i:=1 to 100 do {A[i].number:=i¡£ A[i].name:=null¡£}

9 / 19

mutex,seatcount:semaphore¡£ i:integer¡£mutex:=1¡£seatcount:=100¡£ cobegin {

process readeri(varreadername:string)(i=1,2,¡­) {

P(seatcount)¡£ P(mutex)¡£

for i:=1 to 100 do i++

if A[i].name=null then A[i].name:=readername¡£

reader get the seat number =i¡£ /*A[i].number V(mutex)

½øÈëÔÄÀÀÊÒ£¬×ùλºÅi£¬×ù϶ÁÊé¡£

P(mutex)¡£

A[i] name:=null¡£ V(mutex)¡£ V(seatcount)¡£ À뿪ÔÄÀÀÊÒ¡£ } } coend.

2) ʹÓù̲ܳÙ×÷£º

TYPE readbook=monitor

VAR R:condition¡£ Interface Module IM¡£ i,seatcount:integer¡£

name:array[1..100] of string¡£ DEFINE readercome,readerleave¡£ USE check,wait,signal,release¡£

procedure readercome(readername) begin

check(IM)¡£

if seatcount¡Ý100 wait(R,IM) seatcount:=seatcount+1¡£ for i=1 to 100 do i++

if name[i]==null then name[i]:=readername¡£ get the seat number=i¡£ release(IM)¡£ end

procedure readerleave(readername) begin

10 / 19

check(IM)¡£ seatcount--¡£

for i=1 to 100 do i++

if name[i]==readername then name[i]:=null¡£ release(IM)¡£ end

begin

seatcount:=100¡£name:=null¡£ end

cobegin

process readeri(i=1,2.¡­) begin

readercome(readername)¡£ read the book¡£

readerleave(readername)¡£ leave the readroom¡£ end coend.

6¡¢´ð£ºÊµÖÊÉÏÊÇÁ½¸ö½ø³ÌµÄͬ²½ÎÊÌ⣬ÉèÐźÅÁ¿S1ºÍS2·Ö±ð±íʾ¿É¼ð°××ӺͺÚ×Ó£¬²»Ê§Ò»°ãÐÔ£¬ÈôÁîÏȼð°××Ó¡£

var S1,S2:semaphore¡£

S1:=1¡£S2:=0¡£ cobegin {

process P1 begin repeat P(S1)¡£

¼ð°××Ó

V(S2)¡£ until false¡£ end

process P2 begin repeat P(S2)¡£

¼ðºÚ×Ó

V(S1)¡£ until false¡£

end }

11 / 19

coend.

16¡¢´ð£º(1)ÓÃÐźÅÁ¿ºÍP¡¢V²Ù×÷¡£ var S,S1,S2,S3¡£semaphore¡£ S:=1¡£S1:=S2:=S3:=0¡£ flag1,flag2,flag3:Boolean¡£ flag1:=flag2:=flag3:=true¡£ cobegin {

process ¹©Ó¦Õß

begin

repeat

P(S)¡£

È¡Á½ÑùÏãÑÌÔ­ÁÏ·Å×ÀÉÏ£¬ÓÉflagi±ê¼Ç¡£ /*flage1¡¢flage2¡¢flage3´ú±íÑ̲ݡ¢Ö½¡¢»ð²ñ if flag2&flag3 then V(S1)¡£ /*¹©Ö½ºÍ»ð²ñ else if flag1&flag3 then V(S2)¡£ /*¹©Ñ̲ݺͻð²ñ else V(S3)¡£ /*¹©Ñ̲ݺÍÖ½ untile false¡£ end

process ÎüÑÌÕß1

begin

repeat P(S1)¡£ ȡԭÁÏ¡£ ×öÏãÑÌ¡£ V(S)¡£ ÎüÏãÑÌ¡£ untile false¡£ process ÎüÑÌÕß2

begin

repeat P(S2)¡£ ȡԭÁÏ¡£ ×öÏãÑÌ¡£ V(S)¡£ ÎüÏãÑÌ¡£ untile false¡£ process ÎüÑÌÕß3

begin

repeat P(S3)¡£ ȡԭÁÏ¡£ ×öÏãÑÌ¡£ V(S)¡£

12 / 19

  • ÊÕ²Ø
  • Î¥¹æ¾Ù±¨
  • °æÈ¨ÈÏÁì
ÏÂÔØÎĵµ10.00 Ôª ¼ÓÈëVIPÃâ·ÑÏÂÔØ
ÍÆ¼öÏÂÔØ
±¾ÎÄ×÷Õߣº...

¹²·ÖÏí92ƪÏà¹ØÎĵµ

Îĵµ¼ò½é£º

£¨1£© ¹«ÓÃÐźÅÁ¿£» £¨2£© ˽ÓÐÐźÅÁ¿¡£ °´È¡Öµ·Ö £¨1£© ¶þÖµÐźÅÁ¿£» £¨2£© Ò»°ãÐźÅÁ¿¡£ 15.ºÎν¹Ü³Ì£¿ËüÓÐÄÄЩÊôÐÔ£¿ ¹Ü³ÌÊÇÓɾֲ¿ÓÚ×Ô¼ºµÄÈô¸É¹«¹²±äÁ¿¼°ÆäÉùÃ÷ºÍËùÓзÃÎÊÕâЩ¹«¹²±äÁ¿µÄ¹ý³ÌËù×é³ÉµÄÈí¼þÄ£¿é£¬ËüÌṩһÖÖ»¥³â»úÖÆ£¬½ø³Ì¿ÉÒÔ»¥³âµØµ÷Óù̵ܳĹý³Ì¡£ £¨1£© ¹²ÏíÐÔ£» £¨2£© °²È«ÐÔ£» £¨3£© »¥³âÐÔ¡£ 25.ÊÔÊö²úÉúËÀËøµÄ±ØÒªÌõ¼þ¡¢ËÀËø²úÉúµÄÔ­Òò¼°Ô¤·ÀËÀËøµÄ·½·¨¡£ (1) (2) (3) (4) »¥³âÌõ¼þ£» Õ¼Óк͵ȴýÌõ¼þ£» ²»°þ¶áÌõ¼þ£» Ñ­»·µÈ´ýÌõ¼þ¡£ ½ø³ÌÍÆ½øË³Ðò²»µ±¡¢PV²Ù×÷ʹÓò»Íס¢Í¬Àà×ÊÔ´·ÖÅä²»¾ù»ò¶ÔijЩ×ÊÔ´µÄʹÓÃδ¼ÓÏÞÖÆµÈ£¬²»½öÓëϵͳӵÓеÄ×ÊÔ´ÊýÁ¿Óйأ¬¶øÇÒÓë×ÊÔ´·ÖÅä²ßÂÔ¡¢½ø³Ì¶Ô×ÊÔ´µÄʹÓÃÒªÇóÒÔ¼°²¢·¢½ø³ÌµÄÍÆ½øË³ÐòÓйء£

¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
µ¥Æª¸¶·ÑÏÂÔØ
ÏÞÊ±ÌØ¼Û£º10 Ôª/·Ý Ô­¼Û:20Ôª
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºfanwen365 QQ£º370150219
Copyright © ÔÆÌ⺣ All Rights Reserved. ËÕICP±¸16052595ºÅ-3 ÍøÕ¾µØÍ¼ ¿Í·þQQ£º370150219 ÓÊÏ䣺370150219@qq.com