JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent.locks
ÀÎÅÍÆäÀ̽º ReadWriteLock

±âÁ¸ÀÇ ±¸Çö Ŭ·¡½ºÀÇ À϶÷:
ReentrantReadWriteLock

public interface ReadWriteLock

ReadWriteLock´Â µ¶ÇØ Àü¿ë Á¶ÀÛ¿ë ¹× write¹«ÀÇ, °ü·ÃÇϴ¶ô Æä¾î¸¦ Á¦¾îÇÕ´Ï´Ù. read ¶ô Àº, ¶óÀÌÅͰ¡ Á¸ÀçÇÏÁö ¾Ê´Â ÇÑ, º¹¼öÀÇ ¸®´õ thread¸¦ µ¿½Ã¿¡ º¸°ü À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âÀÔ ¶ô Àº ¹èŸÀûÀÔ´Ï´Ù.

Àоîµé¿© - ±âÀÔ ¶ôÀ» »ç¿ëÇϸé, »óÈ£ ¹èŸ ¶ôÀ» »ç¿ëÇÏ´Â °æ¿ìº¸´Ù ±¤¹üÀ§ÇÑ º´Ç༺À» °øÀ¯ µ¥ÀÌÅÍ¿¡ÀÇ ¾×¼¼½º¿¡ °®°ÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¶ôÀº, °øÀ¯ µ¥ÀÌÅ͸¦ ÇÑ ¹øÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Â °ÍÀº ´ÜÀÏÀÇ thread ( ¡¸¶óÀÌÅÍ¡¹thread) »ÓÀÎ °Í ¹× ¸¹Àº °æ¿ì, ÀÓÀǼöÀÇ thread ( ¡¸¸®´õ¡¹thread)°¡ µ¥ÀÌÅ͸¦ µ¿½Ã¿¡ ÀоîµéÀÏ ¼ö°¡ ÀÖ´Ù°í ÇÏ´Â »ç½ÇÀ» ÀÌ¿ëÇÕ´Ï´Ù. À̷лóÀº, Àоîµé¿© - ±âÀÔ ¶ôÀÇ »ç¿ëÀ¸·Î Çã°¡µÇ´Â º´Ç༺À» Çâ»ó½Ã۸é, »óÈ£ ¹èŸ ¶ôÀ» »ç¿ëÇÏ´Â °æ¿ì¿Í ºñ±³ÇØ ÆÛÆ÷¸Õ½º°¡ Çâ»óÇÕ´Ï´Ù. ½ÇÁ¦·Î´Â º´Ç༺ Çâ»óÀÌ ÃæºÐÈ÷ ½ÇÇöµÇ´Â °ÍÀº, º¹¼öÀÇ ÇÁ·Î¼¼¼­»ó¿¡¼­ »ç¿ëµÇ¾î °øÀ¯ µ¥ÀÌÅÍÀÇ ¾×¼¼½º ÆÐÅÏÀÌ ÀûÇÕÇÑ °æ¿ì¸¸ÀÔ´Ï´Ù.

µ¶ÇØ-±âÀÔ ¶ô¿¡ ÇØ »óÈ£ ¹èŸ ¶ôº¸´Ù ÆÛÆ÷¸Õ½º°¡ Çâ»óÇÒÁö ¾î¶³Áö´Â µ¥ÀÌÅÍ º¯°æ¿¡ ´ëÇÑ µ¥ÀÌÅÍ ÀÐÀ» ºóµµ, µ¶ÇØ ¹× ±âÀÔÀÇ Áö¼Ó ±â°£ ¹× µ¥ÀÌÅÍÀÇ °æÇÕ, Áï µ¿½Ã¿¡ µ¥ÀÌÅ͸¦ Àо´Â ¶Ç´Â ±âÀÔÇÏ´Â threadÀÇ ¼ö¿¡ Á¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, µ¥ÀÌÅͰ¡ ³ÖÀ» ¼ö ÀÖ´ø µÚ, ³Ê¹« º¯°æµÇ´Â ÀÏ ¾øÀÌ (µð·ºÅ丮µîÀÌ) ºó¹øÇÏ°Ô °Ë»öµÇ´Â Ä÷º¼ÇÀº, µ¶ÇØ-±âÀÔ ¶ôÀÇ ÀÌ»óÀûÀÎ È帰¡ µË´Ï´Ù. ´Ù¸¸, °»½ÅÀÌ ºó¹øÇÏ°Ô ÇàÇØÁö´Â °æ¿ì, µ¥ÀÌÅÍÀÇ ½Ã°£ÀÇ ´ëºÎºÐÀº ¹èŸÀû ¶ô¿¡ ¼ÒºñµÇ±â ¶§¹®¿¡ º´Ç༺Àº Çâ»óÇÑ´Ù°í ÇØµµ ¸Å¿ì ºÒ°úÀÔ´Ï´Ù. °Ô´Ù°¡ Àоîµé¿© Á¶ÀÛÀÇ ½Ã°£ÀÌ ³Ê¹« ªÀ¸¸é, µ¶ÇØ-±âÀÔ ¶ôÀÇ ±¸Çö¿¡ ÇÑ ¿À¹öÇìµå (º»·¡, »óÈ£ ¹èŸ ¶ôº¸´Ù º¹Àâ)¿¡ ÇØ ½ÇÇà ÄÚ½ºÆ®°¡ Áö¹èµÇ¾î ¹ö¸± °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ´Ù¼öÀÇ µ¶ÇØ-±âÀÔ ¶ô ±¸ÇöÀÌ ÀûÀº ÄÚµå ¼½¼ÇÀ¸·Î ¸ðµç thread¸¦ Á÷·ÄÈ­ÇÏ´Â °æ¿ì´Â ƯÈ÷ À̰ÍÀÌ µé¾î¸ÂÀ¾´Ï´Ù. °á±¹, read-±âÀÔ ¶ôÀÌ »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀûÀýÇϰí ÀÖ´ÂÁö ¾î¶²Áö¸¦ Á¶»çÇÏ·Á¸é, ÇÁ·Î ÆÄÀϸµ°ú ÆÄ¾Ç À» ½ÇÇàÇÒ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.

read-±âÀÔ ¶ôÀÇ ±âº» Á¶ÀÛÀº º¹ÀâÇÏÁö´Â ¾Ê½À´Ï´Ù¸¸, ±¸ÇöÀ¸·Î ½Ç½ÃÇÒ Çʿ䰡 ÀÖ´Â Æú¸®½Ã»óÀÇ °áÁ¤ÀÌ ´Ù¼ö Á¸ÀçÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °áÁ¤Àº, ÁöÁ¤µÈ ¾îÇø®ÄÉÀ̼ǿ¡¼­ÀÇ Àоîµé¿©-±âÀÔ ¶ôÀÇ È¿°ú¼º¿¡ ¿µÇâÀ» ÁÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Æú¸®½ÃÀÇ ¿¹¸¦, ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.

ÁöÁ¤µÈ ¾îÇø®ÄÉÀÌ¼Ç ±¸ÇöÀÇ Àû¼ºÀ» Æò°¡ÇÒ ¶§, ÀÌ°Íµé ¸ðµç °ÍÀ» °í·ÁÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.5
°ü·Ã Ç׸ñ:
ReentrantReadWriteLock, Lock, ReentrantLock

¸Þ¼­µå °³¿ä
 Lock readLock ()
          Àоîµé¿©¿¡ »ç¿ëÇÏ´Â ¶ôÀ» µ¹·ÁÁÝ´Ï´Ù.
 Lock writeLock ()
          ±âÀÔÇØ¿¡ »ç¿ëÇÏ´Â ¶ôÀ» µ¹·ÁÁÝ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

readLock

Lock  readLock()
Àоîµé¿©¿¡ »ç¿ëÇÏ´Â ¶ôÀ» µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
Àоîµé¿©¿¡ »ç¿ëÇÏ´Â ¶ô

writeLock

Lock  writeLock()
±âÀÔÇØ¿¡ »ç¿ëÇÏ´Â ¶ôÀ» µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
±âÀÔÇØ¿¡ »ç¿ëÇÏ´Â ¶ô

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.