CMutex

CMutex Ŭ·¡½ºÀÇ °³Ã¼°¡ ³ªÅ¸³»´Â "¹ÂÅØ½º" nbsp; ? ¸®¼Ò½º¿¡ ÇϳªÀÇ ½º·¹µå »óÈ£ ¹èŸÀû ¾×¼¼½º¸¦ Çã¿ë ÇÏ´Â µ¿±âÈ­ °³Ã¼. ¹ÂÅØ½º´Â ÇÑ ¹ø¿¡ ÇϳªÀÇ ½º·¹µå¸¸ µ¥ÀÌÅÍ ¶Ç´Â ´Ù¸¥ Á¦¾î ¸®¼Ò½º¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù °æ¿ì¿¡ À¯¿ë ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ¿¬°áµÈ ¸®½ºÆ®¿¡ ³ëµå¸¦ Ãß°¡ ÇÑ ¹ø¿¡ ÇÑ ½º·¹µå¿¡ ÀÇÇØ Çã¿ë ÇØ¾ß ÇÏ´Â ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. CMutex °³Ã¼ ¿¬°áµÈ ¸ñ·ÏÀ» Á¦¾î ÇÏ ¿© ÇÑ ¹ø¿¡ ÇϳªÀÇ ½º·¹µå¸¸ ¸ñ·Ï¿¡ ´ë ÇÑ ¾×¼¼½º¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù(&N).

CMutex °³Ã¼¸¦ »ç¿ë ÇÏ·Á¸é ÇÊ¿äÇÒ ¶§ CMutex °³Ã¼¸¦ »ý¼º ÇÕ´Ï´Ù. ¹ÂÅØ½º, ´ë±â ÇÏ·Á´ÂÀÇ À̸§À» ÁöÁ¤ ÇÏ °í ÀÀ¿ë ÇÁ·Î±×·¥ óÀ½ ±×°ÍÀ» ¼ÒÀ¯ ÇØ¾ß ÇÕ´Ï´Ù. ±×·± ´ÙÀ½ »ý¼ºÀÚ¿¡¼­ ¹Ýȯ µÉ ¶§ ¹ÂÅØ½º¸¦ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. CSyncObject::Unlock ¸¦ È£Ãâ ÇÏ ¿© ¿Ï·á µÇ ¸é Á¦¾î µÈ ¸®¼Ò½º¿¡ ¾×¼¼½º¡£

CMutex °³Ã¼¸¦ »ç¿ë ÇÏ ¿© ´ëü ¹æ¹ýÀ» Á¦¾î ÇÏ·Á´Â Ŭ·¡½º¿¡ µ¥ÀÌÅÍ ¸â¹ö·Î CMutex Çü½ÄÀÇ º¯¼ö¸¦ Ãß°¡ ÇÏ´Â °ÍÀÔ´Ï´Ù. ¹ÂÅØ½º¸¦ ¼ÒÀ¯ óÀ½Àº, ¹ÂÅØ½º (ÇØ´ç µÇ´Â °æ¿ì ÇÁ·Î¼¼½º °æ°è¿¡ °ÉÃÄ »ç¿ë µÉ °ÍÀÔ´Ï´Ù), À̸§ ¹× º¸¾È Ư¼ºÀ» ¿øÇÏ´Â °æ¿ì ÁöÁ¤ CMutex µ¥ÀÌÅÍ ¸â¹öÀÇ »ý¼ºÀÚ¸¦ È£Ãâ Á¦¾î °³Ã¼ÀÇ °Ç¼³ ±â°£ µ¿¾È¡£

CMutex °³Ã¼°¡ÀÌ ¹æ½Ä¿¡ ÀÇÇØ Á¦¾î µÇ´Â ¸®¼Ò½º¿¡ ¾×¼¼½º ÇÏ·Á¸é ¸ÕÀú ¸¸µç CSingleLocktypeÀÇ º¯¼ö ¶Ç´Â CMultiLock ÀÚ¿øÀÇ ¾×¼¼½º ¸â¹ö ÇÔ¼ö¸¦ ÀÔ·Â ÇÕ´Ï´Ù. ±×·± ´ÙÀ½ Àá±Ý °³Ã¼ÀÇ Lock ¸â¹ö ÇÔ¼ö (¿¹¸¦ µé¾î, CSingleLock::Lock)¸¦ È£Ãâ ÇÕ´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼­ ½º·¹µå °ÍÀÔ´Ï´Ù Çϰųª ¸®¼Ò½º¿¡ ¾×¼¼½ºÇÒ ¹ßÇ¥ µÉ ¹× ¾×¼¼½º, ¶Ç´Â Ãâ½Ã µÉ ¸®¼Ò½º¿Í ¸®¼Ò½º¿¡ ¾×¼¼½º ÇÏÁö ¸øÇÏ´Â ½Ã°£ Ãʰú ´ë ÇÑ ´ë±â ¸®¼Ò½º¿¡ ´ë ÇÑ ´ë±â. ¾î¶² °æ¿ì¿¡, ±ÍÇÏÀÇ ¸®¼Ò½º´Â ½º·¹µå·ÎºÎÅÍ ¾ÈÀüÇÑ ¹æ½ÄÀ¸·Î ÀÐÇû½À´Ï´Ù. ¸®¼Ò½º¸¦ ÇØÁ¦ Çϱâ À§ÇØ »ç¿ë ÇÏ´Â Àá±Ý °³Ã¼ÀÇ Àá±Ý ¸â¹ö ÇÔ¼ö (¿¹¸¦ µé¾î, CSingleLock::Unlock), ¶Ç´Â Àá±Ý °³Ã¼°¡ ¹üÀ§¸¦°¡¸¦ ¼ö ÀÖµµ·Ï¡£

CMutex °³Ã¼¸¦ »ç¿ë ÇÏ ¿© ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ À¥ »çÀÌÆ®¸¦ ÂüÁ¶ ÇϽʽÿÀ. ¹®¼­ ´ÙÁß ½º·¹µù: µ¿±âÈ­ Ŭ·¡½º »ç¿ë ¹æ¹ý Visual c + + ÇÁ·Î±×·¡¸Ó °¡À̵塣

# include lt;afxmt.h>

Ŭ·¡½º ¸â¹ö |nbsp; ±âº» Ŭ·¡½º (ko) | °èÃþ ±¸Á¶ Â÷Æ®(&N)

»ùÇÃnbsp; MFC »ùÇà ¹ÂÅØ½º(&N)

Index