CSemaphore

CSemaphore Ŭ·¡½ºÀÇ °³Ã¼°¡ ³ªÅ¸³»´Â "¼¼¸¶Æ÷"-¸®¼Ò½º¿¡ ¾×¼¼½º ÇÏ·Á¸é Çϳª ÀÌ»óÀÇ ÇÁ·Î¼¼½º¿¡¼­ Á¦ÇÑ µÈ ¼öÀÇ ½º·¹µå¸¦ Çã¿ë ÇÏ´Â µ¿±âÈ­ °³Ã¼. CSemaphore °³Ã¼ ¼ö ÇöÀç ÁöÁ¤µÈ µÈ ¸®¼Ò½º¿¡ ¾×¼¼½º ÇÏ´Â ½º·¹µå ¼ö¸¦ À¯Áö ÇÕ´Ï´Ù.

¼¼¸¶Æ÷´Â¸¸ Á¦ÇÑ µÈ ¼öÀÇ »ç¿ëÀÚ¸¦ Áö¿øÇÒ ¼ö ÀÖ´Â °øÀ¯ ¸®¼Ò½º¿¡ ´ë ÇÑ ¾×¼¼½º¸¦ Á¦¾î ÇÏ´Â µ¥ À¯¿ë ÇÕ´Ï´Ù. CSemaphore °³Ã¼ÀÇ ÇöÀç count´Â Çã¿ë ÇÏ´Â Ãß°¡ »ç¿ëÀÚ ¼öÀÔ´Ï´Ù. ÀÌ È½¼ö°¡ 0 ÀÏ ¶§ CSemaphore °³Ã¼¿¡ ÀÇÇØ Á¦¾î µÇ´Â ¸®¼Ò½º¸¦ »ç¿ë ÇÏ´Â ¸ðµç ½Ãµµ ½Ã½ºÅÛ Å¥¿¡ »ðÀÔ µË´Ï´Ù ¹× ±×µé ¶§±îÁö ±â´Ù¸®´Â Áß ½Ã°£ Ãʰú ¶Ç´Â Ä«¿îÆ® 0 ÀÌ»óÀ¸·Î »ó½Â. CSemaphore °³Ã¼ÀÇ °Ç¼³ ±â°£ µ¿¾È Á¦¾î µÈ ¸®¼Ò½º¸¦ ÇÑ ¹ø¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚÀÇ ÃÖ´ë ¼ö¸¦ ÁöÁ¤¡£

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

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

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

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

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

# include lt;afxmt.h>

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

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

Index