À©µµ ¾²·¹µå ÇÁ·Î±×·¡¹Ö : µ¿±âÈ­
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

À©µµ´Â À¯Àú ¸ðµå µ¿±âÈ­¿Í Ä¿³Î ¸ðµå µ¿±âÈ­¹æ¹ýÀ» µû·Î Á¦°øÇÑ´Ù. ÀÓ°è ¿µ¿ªÀ» ¸¸µé¾î¼­ ¾²·¹µå¸¦ µ¿±âÈ­ ½ÃŲ´Ù´Â Á¡¿¡¼­´Â µ¿ÀÏÇÏ´Ù. ¸» ±×´ë·Î À¯Àú ¸ðµå µ¿±âÈ­´Â À¯Àú ¸ðµå¿¡¼­, Ä¿³Î ¸ðµå µ¿±âÈ­´Â Ä¿³Î ¸ðµå¿¡¼­ ÀÌ·ç¾îÁø´Ù. ÀϹÝÀûÀ¸·Î À¯Àú ¸ðµå µ¿±âÈ­°¡ Ä¿³Î ¸ðµå µ¿±âÈ­ º¸´Ù ºü¸¥ °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. Ä¿³Î ¸ðµå µ¿±âÈ­ÀÇ °æ¿ì "À¯Àú ¸ðµå -> Ä¿³Î ¸ðµå -> À¯Àú ¸ðµå"ÀÇ ¸ðµå ÀüȯÀÌ ÀÌ·ç¾îÁö±â ¶§¹®ÀÌ´Ù. Ä¿³Î ¸ðµå µ¿±âÈ­ À̹ǷΠĿ³Î °´Ã¼¸¦ »ý¼ºÇϸç, winapi·Î ¾òÀº ÇÚµéÀ» °¡Áö°í Ä¿³Î °´Ã¼¸¦ Á¦¾îÇÑ´Ù.

¹ÂÅØ½º - Ä¿³Î ¸ðµå µ¿±âÈ­

¸®´ª½ºÀÇ ¹ÂÅØ½º¿Í µ¿ÀÏÇÑ °³³äÀ» °¡Áø´Ù. »ç¿ë ¹æ¹ýµµ ºñ½ÁÇÏ´Ù. ´ÜÀÏ ÇÁ·Î¼¼½º¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸®´ª½º¿Í ´Þ¸® À©µµ´Â ´Ù¸¥ ÇÁ·Î¼¼½ºµé °£¿¡µµ ¹ÂÅØ½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ½Ã½ºÅÛ Àü¿ª °´Ã¼ÀÎ "Ä¿³Î °´Ã¼"·Î °ü¸®µÇ´Â Ư¼º ¶§¹®À¸·Î »ý°¢µÈ´Ù.

¹ÂÅØ½º °´Ã¼ »ý¼º°ú ÀÓ°è ¿µ¿ª ÁøÀÔ

CreateMutexÇÔ¼ö·Î ¹ÂÅØ½º °´Ã¼¸¦ ¸¸µç´Ù.

CreateMutexÇÔ¼ö´Â ¹ÂÅØ½º °´Ã¼ÀÇ À̸§À» ¸Å°³ º¯°³ º¯¼ö·Î ¹ÞÀ» ¼ö ÀÖ´Ù. À̸§ÀÌ NULLÀ̸é ÀÍ¸í ¹ÂÅØ½º·Î ¹ÂÅØ½º¸¦ ¸¸µç ÇÁ·Î¼¼½º¿¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. NULLÀÌ ¾Æ´Ï¶ó¸é À̸§ÀÖ´Â ¹ÂÅØ½º·Î ´Ù¸¥ ÇÁ·Î¼¼½º¿Í °øÀ¯ÇÒ ¼ö ÀÖ´Ù.

¹ÂÅØ½º °´Ã¼´Â ½ÅÈ£ »óÅ·Π¸¸µé¾î Áø´Ù. WaitForSingleObject¿Í °°Àº ÇÔ¼ö·Î ½ÅÈ£ »óÅÂÀÎÁö¸¦ È®ÀÎÇØ¼­ ÀÓ°è ¿µ¿ª¿¡ ÁøÀÔÇÒ ¼ö ÀÖ´Ù. ÀÓ°è ¿µ¿ª¿¡ ÁøÀÔÇÏ¸é ºñ ½ÅÈ£ »óŰ¡ µÇ°í ´Ù¸¥ ¾²·¹µå´Â ½ÅÈ£ »óŰ¡ µÉ ¶§±îÁö ÀÓ°è ¿µ¿ª ¹Û¿¡¼­ ±â´Ù·Á¾ß ÇÑ´Ù.

ÀÓ°è ¿µ¿ª¿¡ ÁøÀÔÇÑ ¾²·¹µå´Â ReleaseMutexÇÔ¼ö·Î ÀÓ°è ¿µ¿ªÀ» ¹þ¾î³­´Ù. ReleaseMutexÇÔ¼ö´Â ¹ÂÅØ½º °´Ã¼¸¦ ½ÅÈ£ »óÅ·Π¸¸µé°í, ÀÓ°è ¿µ¿ª ¹Û¿¡¼­ ´ë±âÁßÀÌ´ø ¾²·¹µåµé Áß ÇϳªÀÇ ÁøÀÔÀ» Çã¿ëÇÏ°Ô µÈ´Ù. "Àá±Ý ¾ò±â", "Àá±Ý µ¹·ÁÁÖ±â"¹æ½ÄÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ ÇÁ·Î±×·¥

 
 

ÀÓ°è ¿µ¿ª °´Ã¼ - À¯Àú ¸ðµå µ¿±âÈ­

ÀÓ°è ¿µ¿ª °´Ã¼ (Critical Section Object)·Î µ¿±âÈ­¸¦ ´Þ¼ºÇÒ ¼öµµ ÀÖ´Ù. ÀÓ°è ¿µ¿ª °´Ã¼´Â À¯Àú ¸ðµå °´Ã¼´Ù. À¯Àú ¸ðµå °´Ã¼À̹ǷΠ´ÜÀÏ ÇÁ·Î¼¼½º¿¡¼­¸¸ »ç¿ë°¡´ÉÇÏ´Ù.

´ÙÀ½ÀÇ ¼¼ °¡Áö ÇÔ¼ö·Î ÀÓ°è ¿µ¿ª °´Ã¼¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù.
  1. InitializeCriticalSection : ÀÓ°è ¿µ¿ª °´Ã¼¸¦ ÃʱâÈ­ ÇÑ´Ù.
  2. EnterCriticalSection : ÀÓ°è ¿µ¿ª¿¡ ÁøÀÔÀ» ½ÃµµÇÑ´Ù.
  3. LeaveCriticalSection : ÀÓ°è ¿µ¿ª¿¡¼­ ºüÁ®³ª°£´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.