´ó¹¤18´º¡¶²Ù×÷ϵͳ¡·´ó×÷ÒµÌâÄ¿¼°ÒªÇó´ð°¸

Ð뻥³âʹÓã¬ËùÒÔÁíÍ⻹ÐèÉèÖÃÒ»¸ö»¥³âÐźŵÆmutex,Æð³õֵΪ1¡£

¼Ù¶¨ÔÚÉú²úÕߺÍÏû·ÑÕßÖ®¼äµÄ¹«Óûº³åÇøÖУ¬¾ßÓÐn¸ö»º³åÇø£¬Õâʱ¿ÉÒÔÀûÓû¥³âÐźÅÁ¿mutexʵÏÖÖî½ø³Ì¶Ô»º³å³ØµÄ»¥³âʹÓã»ÀûÓÃÐźÅÁ¿emptyºÍfull·Ö±ð±íʾ»º³å³ØÖпջº³åÇøºÍÂú»º³åÇøµÄÊýÁ¿¡£ÓÖ¼Ù¶¨ÕâЩÉú²úÕߺÍÏû·ÑÕß»¥ÏàµÈЧ¹û£¬Ö»Òª»º³å³ØÎ´Âú£¬Éú²úÕß±ã¿ÉÒÔ½«ÏûÏ¢ËÍÈ뻺³å³Ø£»Ö»Òª»º³å³ØÎ´¿Õ£¬Ïû·ÑÕß±ã¿ÉÒÔ´Ó»º³å³ØÖÐÈ¡×ßÒ»¸öÏûÏ¢¡£

ÔÚÉú²úÕß---Ïû·ÑÕßÎÊÌâÖÐӦעÒ⣺Ê×ÏÈ£¬ÔÚÿ¸ö³ÌÐòÖÐÓÃÓÚ»¥³âµÄwait(mutex)ºÍsignal(mutex)±ØÐë³É¶Ô³öÏÖ£»Æä´Î£¬¶Ô×ÊÔ´ÐźÅÁ¿emptyºÍfullµÄwaitºÍsignal²Ù×÷£¬Í¬ÑùÐèÒª³É¶ÔµØ³öÏÖ£¬µ«ËüÃÇ·Ö±ð´¦ÓÚ²»Í¬µÄ³ÌÐòÖС£

Éú²úÕßÓëÏû·ÑÕß½ø³Ì¹²ÏíÒ»¸ö´óС¹Ì¶¨µÄ»º³åÇø¡£ÆäÖУ¬Ò»¸ö»ò¶à¸öÉú²úÕßÉú²úÊý¾Ý£¬²¢½«Éú²úµÄÊý¾Ý´æÈ뻺³åÇø£¬²¢ÓÐÒ»¸ö»ò¶à¸öÏû·ÑÕß´Ó»º³åÇøÖÐÈ¡Êý¾Ý¡£

¼ÙÉ軺³åÇøµÄ´óСΪn£¨´æ´¢µ¥ÔªµÄ¸öÊý£©£¬Ëü¿ÉÒÔ±»Éú²úÕߺÍÏû·ÑÕßÑ­»·Ê¹Ó᣷ֱðÉèÖÃÁ½¸öÖ¸ÕëinºÍout£¬Ö¸ÏòÉú²úÕß½«´æ·ÅÊý¾ÝµÄ´æ´¢µ¥ÔªºÍÏû·ÑÕß½«È¡³öÊý¾ÝµÄ´æ´¢µ¥Ôª£¬Èçͼ£¬Ö¸ÕëinºÍout³õʼ»¯Ö¸Ïò»º³åÇøµÄµÚÒ»¸ö´æ´¢µ¥Ôª¡£Éú²úÕß´ÓµÚÒ»¸ö´æ´¢µ¥Ôª¿ªÊ¼´æ·ÅÊý¾Ý£¬Ò»´Î´æ·ÅÒ»ÌõÊý¾ÝÒ»ÌõÊý¾ÝÇÒinÖ¸ÕëÏòºóÒÆÒ»¸öλÖ㬵±in Ö¸ÕëÖ¸ÏòµÚn¸ö´æ´¢µ¥Ôª£¬ÏÂÒ»´Î½«Ö¸ÏòµÚÒ»¸ö´æ´¢µ¥Ôª£¬Èç´ËÑ­»··´¸´Ê¹Óûº³åÇø¡£Ïû·ÑÕß´Ó»º³åÇøÖÐÖðÌõÈ¡×ßÊý¾Ý£¬Ò»´ÎȡһÌõÊý¾Ý£¬ÏàÓ¦µÄ´æ´¢µ¥Ôª±äΪ¡°¿Õ¡±£¬¿ÉÒÔ±»Éú²úÕßÔÙ´ÎʹÓá£Ã¿´ÎÈ¡×ßÒ»ÌõÊý¾Ý£¬outÖ¸ÕëÏòºóÒÆÒ»¸ö´æ´¢µ¥ÔªÎ»Öá£ÊÔÏ룬Èç¹û²»¿ØÖÆÉú²úÕßÓëÏû·ÑÕߣ¬½«»á²úÉúʲô½á¹û£¿

1 2 3 4 5 6 7 8 n ¡­¡­ ¡­¡­

In out

1 2 3 4 5 6 7 8 n ¡­¡­

¡­¡­

In out

ÆäÖУ¬in±íʾ´æÊý¾ÝλÖã¬out±íʾȡÊý¾ÝλÖÃ

£º £º±»Õ¼Óõ¥Ôª £º¿Õ´æ´¢µ¥Ôª ͼ£ºÉú²úÕß/Ïû·ÑÕßÑ­»·Ê¹Óûº³åÇø

Ê×ÏÈ£¬Éú²úÕߺÍÏû·ÑÕß¿ÉÄÜͬʱ½øÈ뻺³åÇø£¬ÉõÖÁ¿ÉÄÜͬʱ¶Á/дһ¸ö´æ´¢µ¥Ôª£¬½«µ¼ÖÂÖ´Ðнá¹û²»È·¶¨¡£ÕâÏÔÈ»ÊDz»ÔÊÐíµÄ¡£ËùÒÔ£¬±ØÐëʹÉú²úÕߺÍÏû·ÑÕß»¥³â½øÈ뻺³åÇø¡£¼´Ä³Ê±¿ÌÖ»ÔÊÐíÒ»¸öʵÌ壨Éú²úÕß»òÏû·ÑÕߣ©·ÃÎÊ»º³åÇø£¬Éú²úÕß»¥³âÏû·ÑÕßºÍÆäËûÈκÎÉú²úÕß¡£

Æä´Î£¬Éú²úÕß²»ÄÜÏòÂúµÄ»º³åÇøÐ´Êý¾Ý£¬Ïû·ÑÕßÒ²²»ÄÜÔÚ¿Õ»º³åÇøÖÐÈ¡Êý¾Ý£¬¼´Éú²úÕßÓëÏû·ÑÕß±ØÐëͬ²½¡£µ±Éú²úÕß²úÉú³öÊý¾Ý£¬ÐèÒª½«Æä´æÈ뻺³åÇøÖ®Ç°£¬Ê×Ïȼì²é»º³åÇøÖÐÊÇ·ñÓС°¿Õ¡±´æ´¢µ¥Ôª£¬Èô»º³åÇø´æ´¢µ¥ÔªÈ«²¿ÓÃÍ꣬ÔòÉú²úÕß±ØÐë×èÈûµÈ´ý£¬Ö±µ½Ïû·ÑÕßÈ¡×ßÒ»¸ö´æ´¢µ¥ÔªµÄÊý¾Ý£¬»½ÐÑËü¡£Èô»º³åÇøÄÚÓС°¿Õ¡±´æ´¢µ¥Ôª£¬Éú²úÕßÐèÒªÅжϴËʱÊÇ·ñÓбðµÄÉú²úÕß»òÏû·ÑÕßÕýÔÚʹÓûº³åÇø£¬ÈôÊÇÓУ¬Ôò×èÈûµÈ´ý£¬·ñÔò£¬»ñµÃ»º³åÇøµÄʹÓÃȨ£¬½«Êý¾Ý´æÈ뻺³åÇø£¬ÊÍ·Å»º³åÇøµÄʹÓÃȨ¡£Ïû·ÑÕßÈ¡Êý¾Ý֮ǰ£¬Ê×Ïȼì²é»º³åÇøÖÐÊÇ·ñ´æÔÚ×°ÓÐÊý¾ÝµÄ´æ´¢µ¥Ôª£¬Èô»º³åÇøÎª¡°¿Õ¡±£¬Ôò×èÈûµÈ´ý£¬·ñÔò£¬Åжϻº³åÇøÊÇ·ñÕýÔÚ±»Ê¹Óã¬ÈôÕý±»Ê¹Óã¬ÈôÕý±»Ê¹Óã¬Ôò×èÈûµÈ´ý£¬·ñÔò£¬»ñµÃ»º³åÇøµÄʹÓÃȨ£¬½øÈ뻺³åÇøÈ¡Êý¾Ý£¬ÊÍ·Å»º³åÇøµÄʹÓÃȨ¡£ÆäÖ´ÐÐÁ÷³ÌÈçͼËùʾ£¬Î±´úÂëÈçͼËùʾ¡£

2¡¢Éæ¼°µÄÊý¾Ý½á¹¹

¢ÙÓÃ×ÊÔ´ÏòÁ¿Available¡£ÕâÊÇÒ»¸öº¬ÓÐm¸öÔªËØµÄÊý×飬ÆäÖеÄÿһ¸öÔªËØ´ú±íÒ»Àà¿ÉÀûÓõÄ×ÊÔ´ÊýÄ¿£¬Æä³õʼֵÊÇϵͳÖÐËùÅäÖõĸÃÀàÈ«²¿¿ÉÓÃ×ÊÔ´µÄÊýÄ¿£¬ÆäÊýÖµËæ¸ÃÀà×ÊÔ´µÄ·ÖÅäºÍ»ØÊÕ¶ø¶¯Ì¬µØ¸Ä±ä¡£Èç¹ûAvailable[j]=K£¬Ôò±íʾϵͳÖÐÏØÓÐRJÀà×ÊÔ´K¸ö¡£

¢ÚÐèÇó¾ØÕóMAX¡£ÕâÊÇÒ»¸öN*MµÄ¾ØÕó£¬Ëü¶¨ÒåÁËϵͳÖÐN¸ö½ø³ÌÖеÄÿһ¸ö½ø³Ì¶ÔMÀà×ÊÔ´µÄ×î´óÐèÇó¡£Èç¹ûMAX[i,j]=K£¬Ôò±íʾ½ø³ÌIÐèÒªRJÀà×ÊÔ´µÄ×î´óÊýĿΪK¡£

¢Û¾ØÕóAllocation¡£ÕâÒ²ÊÇÒ»¸öN*MµÄ¾ØÕó£¬Ëü¶¨ÒåÁËϵͳÖÐÿһÀà×ÊÔ´

µ±Ç°ÒÑ·ÖÅä¸øÃ¿Ò»½ø³ÌµÄ×ÊÔ´Êý¡£Èç¹ûAllocation[i,j]=K£¬Ôò±íʾ½ø³Ìiµ±Ç°ÒÑ·ÖµÃRJÀà×ÊÔ´µÄÊýĿΪK¡£

¢Ü¾ØÕóNeed¡£ÕâÒ²ÊÇÒ»¸öN*MµÄ¾ØÕó£¬ÓÃÒÔ±íʾÿһ¸ö½ø³ÌÉÐÐèµÄ¸÷Àà×ÊÔ´Êý¡£Èç¹ûNeed[i,j]=K£¬Ôò±íʾ½ø³ÌI»¹ÐèÒªRJÀà×ÊÔ´K¸ö£¬·½ÄÜÍê³ÉÆäÈÎÎñ¡£

ÉÏÊöÈý¸ö¾ØÕó¼ä´æÔÚÏÂÊö¹ØÏµ£º Need[i,j]=MAX[i,j]-Allocation[i,j]

Èý¡¢Êý¾ÝÁ÷³Ìͼ£º 3.1¡¢Éú²úÕß

3.2¡¢Ïû·ÑÕß

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)