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 µµ ÂüÁ¶ÇϽʽÿÀ.