ÄÄÇ»ÅÍ ¿ë¾î »çÀü : deadlock - ±³Âø»óÅÂ
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

deadlock

deadlock´Â ±³Âø»óŶó°í ÇÑ´Ù. ÇÁ·Î¼¼½º A°¡ ÀÚ¿ø S1À» °¡Áö°í ÀÖÀ¸¸é¼­ ÀÚ¿ø S2¸¦ ±â´Ù¸®°í Àִµ¥, ÇÁ·Î¼¼½º B°¡ ÀÚ¿ø S2¸¦ °¡Áö°í ÀÖÀ¸¸é¼­ ÀÚ¿ø S1À» ±â´Ù¸®´Â »óŰ¡ ´ëÇ¥ÀûÀÎ ±³Âø»óÅÂÀÇ ¿¹ÀÌ´Ù. ÀÌ °æ¿ì µÎ°³ÀÇ ÇÁ·Î¼¼½º´Â °áÄÚ ¾òÀ» ¼ö ¾ø´Â ÀÚ¿øÀ» ¾ò±â À§Çؼ­ ¿µ¿øÈ÷ ±â´Ù¸®°Ô µÉ °ÍÀ̰í, ÇÁ·Î±×·¥Àº ¾Æ¹«·± Àϵµ ¸øÇÏ°Ô µÉ °ÍÀÌ´Ù.

deadlock ´Â DB¸¦ ÀÌ¿ëÇØ¼­ Á»´õ ½±°Ô ¼³¸íµÉ ¼ö ÀÖ´Ù.
  1. ÇÁ·Î¼¼½º A°¡ Å×À̺í T1¿¡ lockÀ» °É°í Å×À̺í T2ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÏ·Á°í ÇÑ´Ù.
  2. ÇÁ·Î¼¼½º B°¡ T2¿¡ lock¸¦ °É°í Å×À̺í T1ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÏ·Á°í ÇÑ´Ù.
  3. ¼­·Î°¡ ±³Â÷ÇØ¼­ »ó´ë¹æÀÇ ÀÚ¿øÀ» ¿äûÇϴµ¥, ¸ðµÎ lockÀÌ °É·ÁÀֱ⠶§¹®¿¡ ¿µ¿øÈ÷ ´ë±âÇÑ´Ù.

ÇÁ·Î±×·¥ÀÇ Á¦ÀÛ¿¡ À־ deadlock´Â ¼¼¸¶Æ÷¾î, ÆÄÀÏÀá±Ý, mutex µî°ú °°Àº ÀÚ¿øÁ¢±ÙÀ» Á¦¾îÇØ¾ß ÇÏ´Â °æ¿ì¿¡ ÁÖ·Î ¹ß»ýÇÑ´Ù.

deadlockÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ¹ß»ýÇÑ´Ù.
  1. mutual exclusion : ÀÚ¿øÀ» ´Ü ÇϳªÀÇ ÇÁ·Î¼¼½º¸¸ÀÌ °¡Áú ¼ö ÀÖ´Ù. ÀÌ ÀÚ¿øÀ» °¡Áú·Á´Â ÇÁ·Î¼¼½º´Â ÇØ´ç ÀÚ¿øÀÌ ÇØÁ¦µÉ¶§±îÁö ±â´Ù·Á¾ß ÇÑ´Ù.
  2. hold and wait : ÀڱⰡ ÀÚ¿øÀ» °¡Áö°í ÀÖÀ¸¸é¼­ ´Ù¸¥ ÀÚ¿øÀ» °¡Áú·Á°í ÇÑ´Ù. À§ÀÇ DB ¿¡¼­ÀÇ deadlockÀÌ ±× ¿¹ÀÌ´Ù.
  3. no preemption : ´Ù¸¥ ÇÁ·Î¼¼½º°¡ °­Á¦·Î ÀÚ¿øÀ» »©¾ÑÀ» ¼ö ¾øÀ» °æ¿ì.
  4. circular wait : a->b->c->a ÀÇ ½ÄÀ¸·Î ȯÇüÀ¸·Î ´ÙÀ½ÀÚ¿øÀ» ¿äûÇÏ´Â °æ¿ì.
¹°·Ð À§ÀÇ °æ¿ì°¡ Æ÷ÇԵǵµ·Ï ÇÁ·Î±×·¡¹Ö µÇ¾ú´Ù°í ÇØ¼­, ¹Ýµå½Ã deadlockÀÌ ¹ß»ýÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. À§ÀÇ »óȲÀº ÀÚ¿øÁ¢±ÙÁ¦¾î¸¦ ÇÒ°æ¿ì ½±°Ô ¸¸µé¾îÁú ¼ö ÀÖ´Ù. ¾îµð±îÁö³ª À§ÀÇ »óȲ¿¡ À־ À߸ø ÇÁ·Î±×·¡¹Ö ÇßÀ» ¶§ ¹ß»ýÀ» ÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ À§ÀÇ »óȲÀ» ¸¸µé¶§ deadlockÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´ÂÁö ÁÖÀÇÇØ¼­ ÇÁ·Î±×·¡¹ÖÀ» ÇØ¾ß ÇÑ´Ù°í º¸¸é µÈ´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.