Ò»¡¢³ÌÐò²¢·¢Ö´ÐеÄÔÒò
ÔÚÓû§¿Õ¼ä£º
µ÷¶È³ÌÐòÍêÈ«¿ÉÄÜÑ¡ÔñÁíÒ»¸ö¸ßÓÅÏȼ¶µÄ½ø³Ìµ½´¦ÀíÆ÷ÉÏÖ´ÐУ¬ËùÒÔ¾ÍÓпÉÄÜÒ»¸ö³ÌÐòÕý´¦ÓÚÁÙ½çÇøÊ±±»·Ç×ÔÔ¸µÄÇÀÕ¼ÁË£¬Èç¹ûе÷¶ÈµÄµÄ½ø³ÌËæºóÒ²½øÈ뵽ͬһ¸öÁÙ½çÇø£¬Ç°ºóÁ½¸ö½ø³ÌÖ®¼ä¾Í»á²úÉú¾ºÕù¡£
ÐźÅÊÇÒì²½·¢ÉúµÄÒ²ÓпÉÄܲúÉú¾ºÕùÌõ¼þ¡£
ÔÚÄں˿ռ䣺
ÖжϣºÖжϼ¸ºõ¿ÉÒÔÔÚÈκÎʱºòÒì²½·¢Éú£¬Ò²¾Í¿ÉÄÜËæÊ±´ò¶Ïµ±Ç°ÕýÔÚÖ´ÐеĴúÂë¡£
ÈíÖжϺÍtasklet£ºÄÚºËÄÜÔÚÈκÎʱºò»½ÐÑ»òµ÷¶ÈÈíÖжϺÍtasklet£¬´ò¶Ïµ±Ç°ÕýÔÚÖ´ÐеĴúÂë¡£
ÄÚºËÇÀÕ¼£ºÒòΪÄں˿ÉÒÔÇÀÕ¼£¬ËùÒÔÄÚºËÖеÄÈÎÎñ¿ÉÄܻᱻÁíÒ»ÈÎÎñÇÀÕ¼¡£
˯Ãß¼°Óû§¿Õ¼äµÄͬ²½£ºÔÚÄÚºËÖ´ÐеĽø³Ì¿ÉÄÜ»á˯Ãߣ¬Õâ¾Í»á»½Ðѵ÷¶È³ÌÐò£¬´Ó¶øµ÷¶ÈÒ»¸öеÄÓû§½ø³ÌÖ´ÐС£
¶Ô³Æ¶à´¦Àí£ºÁ½¸ö»ò¶à¸ö´¦ÀíÆ÷¿ÉÒÔͬʱִÐдúÂë
¶þ¡¢ÄÚºËͬ²½·½·¨
Ô×Ó²Ù×÷£ºÖ»ÄÜÕë¶Ôatomoc_tÀàÐ͵ÄÊý¾Ý½øÐд¦Àí£¬»¹ÄܽøÐÐÔ×Óλ²Ù×÷£¬Ô×ÓÐÔ±£Ö¤Ö¸ÁîÖ´ÐÐÆÚ¼ä²»±»´ò¶Ï¡£Ô×Ó²Ù×÷Óë¸ü¸´ÔÓµÄͬ²½·½·¨Ïà±È½Ï£¬¸øÏµÍ³´øÀ´µÄ¿ªÏúС£¬¶Ô¸ßËÙ»º´æÐеÄÓ°ÏìҲС£¬µ«µ±ÁÙ½çÇø¿çÔ½¶à¸öº¯Êý»òÕßÊý¾Ý½á¹¹Ê±ºò£¬Ô×Ó²Ù×÷¾ÍÎÞÄÜΪÁ¦ÁË£¬Õâʱºó¾ÍÐèҪʹÓøü¸´ÔÓµÄͬ²½·½·¨¡ª¡ªËø¡£
×ÔÐýËø(Spin_lock)£º×ÔÐýËø×î¶àÖ»Äܱ»Ò»¸ö¿ÉÖ´ÐÐÏÖ³ÉÓµÓУ¬Ò»¸ö±»ÕùÓõÄ×ÔÐýËøÊ¹µÃÇëÇóËüµÄÏß³ÌÔڵȴýµÈ´ýÖØÐ¿ÉÓÃʱºò×ÔÐý£¬Òò´ËÀË·Ñ´¦ÀíÆäʱ¼ä£¬µ«¶Ìʱ¼äµÄ×ÔÑ¡Ïà±ÈÈõȴýÏÖ³É˯Ãß½øÐÐÉÏÏÂÎÄÇл»µÄ´úÂëºÍ¿ªÏúҪСµÃ¶à£¬ËùÒÔ×ÔÐýËøÊʺÏÓÚÔÚ¶Ìʱ¼äÄÚ½øÐÐÇáÁ¿¼¶¼ÓËø¡£
a)Linux×ÔÐýËøÊDz»¿ÉµÝ¹éµÄ¡£
b)×ÔÐýËø¿ÉÒÔʹÓÃÔÚÖжϴ¦Àí³ÌÐòÖУ¨´Ë´¦²»ÄÜʹÓÃÐźÅÁ¿£¬ÒòΪËü»áµ¼ÖÂ˯Ãߣ©£¬ÔÚʹÓÃ×ÔÐýËø»ñÈ¡ËøÖ®Ç°£¬Ê×ÏÈÒª½ûÖ¹±¾µØÖжϣ¨µ±Ç°´¦ÀíÆ÷ÉϵÄÖжÏÇëÇ󣩣¬·ñÔò£¬Öжϴ¦Àí³ÌÐò¾Í»á´ò¶ÏÕý³ÖÓÐËøµÄÄں˴úÂ룬ÓпÉÄÜ»áÊÔͼȥÕùÓÃÕâ¸öÒѾ±»³ÖÓеÄ×ÔÐýËø¡£
c)ÓÉÓÚϰ벿¿ÉÒÔÇÀÕ¼½ø³ÌÉÏÏÂÎÄÖеĴúÂ룬ËùÒÔµ±Ï°벿ºÍ½ø³ÌÉÏÏÂÎĹ²ÏíÊý¾Ýʱ£¬±ØÐë¶Ô½ø³ÌÉÏÏÂÎÄÖеĹ²ÏíÊý¾Ý½øÐб£»¤£¬ËùÒÔÐèÒª¼ÓËøµÄͬʱ»¹Òª½ûֹϰ벿ִÐС£Í¬Ñù£¬ÓÉÓÚÖжϴ¦Àí³ÌÐò¿ÉÒÔÇÀռϰ벿£¬ËùÒÔÈç¹ûÖжϴ¦Àí³ÌÐòºÍϰ벿¹²ÏíÊý¾Ý£¬¾Í±ØÐëÔÚ»ñÈ¡Êʵ±µÄËøµÄͬʱ»¹Òª½ûÖ¹Öжϡ£
1)ͬÀàµÄtasklet²»ÄÜͬʱÔËÐУ¬ËùÒÔ¶ÔÓÚͬÀàtaskletÖеĹ²ÏíÊý¾Ý²»ÐèÒª±£»¤¡£µ«Êǵ±Êý¾Ý±»Á½¸ö²»Í¬ÖÖÀàµÄtasklet¹²Ïíʱ£¬¾ÍÐèÒªÔÚ·ÃÎÊϰ벿µÄÊý¾ÝǰÏÈ»ñµÃÒ»¸öÆÕÍ¨Ëø£¬ÕâÀï²»ÐèÒª½ûֹϰ벿£¬ÒòΪͬһ¸ö´¦ÀíÆ÷ÉϾø¶Ô²»»á³öÏÖtaskletÏ໥ÇÀÕ¼µÄÇé¿ö¡£
2)¶ÔÓÚÈíÖжϣ¬²»ÂÛÊÇ·ñÊÇͬһÖÖÀàÐÍ£¬Èç¹ûÊý¾Ý±»ÈíÖжϹ²Ïí£¬ÄÇôËü±ØÐëµÃµ½ËøµÄ±£»¤¡£ÕâÊÇÒòΪ¼´Ê¹ÊÇͬÀàÐ͵ÄÁ½¸öÈíÖжÏÒ²¿ÉÒÔͬʱÔËÐÐÔÚÒ»¸öϵͳµÄ¶à¸ö´¦ÀíÆ÷ÉÏ¡£µ«ÊÇ£¬Í¬Ò»´¦ÀíÆ÷ÉϵÄÒ»¸öÈíÖжϾø¶Ô²»»áÇÀÕ¼ÁíÍâÒ»¸öÈíÖжϣ¬Òò´ËûÓбØÒª½ûֹϰ벿¡£
ÐźÅÁ¿(Semaphore)£ºÐźÅÁ¿ÊÇÒ»ÖÖ˯ÃßËø£¬Èç¹ûÓÐÒ»¸öÈÎÎñÊÔͼ»ñµÃÒ»¸öÒѾ±»Õ¼ÓõÄÐźÅÁ¿Ê±£¬ÐźÅÁ¿»á½«ÆäÍÆÈëÒ»¸öµÈ´ý¶ÓÁУ¬È»ºóÈÃÆä˯Ãߣ¬Õâʱ´¦ÀíÆ÷ÄÜÖØ»ñ×ÔÓÉ£¬´Ó¶øÈ¥Ö´ÐÐÆäËû´úÂë¡£
1) ÐźÅÁ¿ÊÊÓÃÓÚËøµÄ»á±»³¤Ê±¼ä³ÖÓеÄÇé¿ö¡£Ê±¼ä½Ï¶ÌµÄʱ£¬²»ÊʺÏʹÓÃÐźÅÁ¿£¬ÒòΪ˯Ãߣ¬Î¬»¤µÈ´ý¶ÓÁÐÒÔ¼°»½ÐÑËù»¨·ÑµÄ¿ªÏú¿ÉÄܱÈËø±»Õ¼ÓõÄÈ«²¿Ê±¼ä»¹³¤¡£
2) Ö»ÄÜÔÚ½ø³ÌÉÏÏÂÎÄÖвÅÄÜ»ñÈ¡ÐźÅÁ¿Ëø¡£
3) Õ¼ÓÐÐźÅÁ¿µÄͬʱ²»ÄÜÕ¼ÓÃ×ÔÐýËø¡£
l Íê³ÉÁ¿£¨Completion£©£ºÈç¹ûÄÚºËÖеÄÒ»¸öÈÎÎñÐèÒª·¢³öÐźÅ֪ͨÁíÒ»ÈÎÎñ·¢ÉúÁËij¸öÌØ¶¨Ê¼þ£¬ÀûÓÃÍê³ÉÁ¿ÊÇʹÁ½¸öÈÎÎñµÃÒÔͬ²½µÄ¼òµ¥·½·¨¡£