CCriticalSection

CCriticalSection Ŭ·¡½ºÀÇ °³Ã¼°¡ ³ªÅ¸³»´Â "ÀÓ°è" ? ¸®¼Ò½º ¶Ç´Â ÄÚµåÀÇ ¼½¼Ç¿¡ ¾×¼¼½º ÇÏ·Á¸é ÇÑ ¹ø¿¡ ÇϳªÀÇ ½º·¹µå¸¸ Çã¿ë ÇÏ´Â µ¿±âÈ­ °³Ã¼. Áß¿ä ¼½¼ÇÀº ÇÑ ¹ø¿¡ ÇϳªÀÇ ½º·¹µå¸¸ µ¥ÀÌÅÍ ¶Ç´Â ´Ù¸¥ Á¦¾î ¸®¼Ò½º¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù ¶§ À¯¿ë ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ¿¬°áµÈ ¸®½ºÆ®¿¡ ³ëµå¸¦ Ãß°¡ ÇÑ ¹ø¿¡ ÇÑ ½º·¹µå¿¡ ÀÇÇØ Çã¿ë ÇØ¾ß ÇÏ´Â ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. CCriticalSection °³Ã¼ ¿¬°áµÈ ¸ñ·ÏÀ» Á¦¾î ÇÏ ¿© ÇÑ ¹ø¿¡ ÇϳªÀÇ ½º·¹µå¸¸ ¸ñ·Ï¿¡ ´ë ÇÑ ¾×¼¼½º¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

¼Óµµ°¡ Áß¿ä ÇÑ ¸®¼Ò½º¸¦ ÇÁ·Î¼¼½º °æ°è¸¦ ³Ñ¾î »ç¿ë ÇÏÁö ¶§ Áß¿ä ¼½¼Ç ¹ÂÅØ½º ´ë½Å »ç¿ë µË´Ï´Ù. ¹ÂÅØ½º¸¦ »ç¿ë ÇÏ ¿© MFC¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ À¥ »çÀÌÆ®¸¦ ÂüÁ¶ ÇϽʽÿÀ. CMutex¡£

CCriticalSection °³Ã¼¸¦ »ç¿ë ÇÏ·Á¸é ÇÊ¿äÇÑ °æ¿ì CCriticalSection °³Ã¼¸¦ »ý¼º ÇÕ´Ï´Ù. »ý¼ºÀÚ¸¦ ¹Ýȯ ÇÏ´Â °æ¿ì¿¡ ´ÙÀ½ Áß¿ä ¼½¼ÇÀ» ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Àá±Ý ÇØÁ¦ ¸¦ È£Ãâ ÇÏ ¿© ¿Ï·á µÇ ¸é Áß¿ä ¼½¼Ç¿¡ ¾×¼¼½º¡£

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

¶Ç´Â µ¶¸³Çü, CCriticalSection °³Ã¼¸¦ ¸¸µé ÇÏ °í Á¦¾î µÈ ¸®¼Ò½º¿¡ ¾×¼¼½º Çϱâ Àü¿¡ ¸í½ÃÀûÀ¸·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼Ò½º Äڵ带 Àд »ç¶÷¿¡ °Ô ¸íÈ® ÇÏ °Ô ÇÏ´Â µ¿¾ÈÀÌ ¸Þ¼­µå´Â ´õ °æÇâÀÌ ¿À·ù¸¦ Áß¿ä ¼½¼ÇÀ» ¾×¼¼½º ÀüÈÄ Àá±ÝÀ» ÇØÁ¦ ÇØ¾ß ÇÕ´Ï´ÙÀ¸·Î¡£

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

# include lt;afxmt.h>

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

»ùÇÃnbsp; MFC »ùÇÃ MTGDI(&N)

Âü°í Ç׸ñnbsp;CMutex(&N)

Index