|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface ReadWriteLock
ReadWriteLock´Â
Àбâ Àü¿ë
Á¶ÀÛ¿ë ¹× write¹«ÀÇ, °ü·ÃÇϴ¶ô
Æä¾î¸¦ Á¦¾îÇÕ´Ï´Ù. read ¶ô
Àº ¶óÀÌÅͰ¡ Á¸ÀçÇÏÁö ¾Ê´Â ÇÑ, º¹¼öÀÇ ¸®´õ thread¸¦ µ¿½Ã¿¡ º¸°ü À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. Ãâ·Â ¶ô
Àº ¹èŸÀûÀÔ´Ï´Ù.
Àбâ - Ãâ·Â ¶ôÀ» »ç¿ëÇϸé, »óÈ£ ¹èŸ ¶ôÀ» »ç¿ëÇÏ´Â °æ¿ìº¸´Ù ±¤¹üÀ§ÇÑ º´Ç༺À» °øÀ¯ µ¥ÀÌÅÍ¿¡ÀÇ ¾×¼¼½º¿¡ °®°ÔÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ ¶ôÀº °øÀ¯ µ¥ÀÌÅ͸¦ ÇÑ ¹øÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Â °ÍÀº ´ÜÀÏÀÇ thread ( ¡¸¶óÀÌÅÍ¡¹thread) »ÓÀÎ °Í ¹× ¸¹Àº °æ¿ì, ÀÓÀǼöÀÇ thread ( ¡¸¸®´õ¡¹thread)°¡ µ¥ÀÌÅ͸¦ µ¿½Ã¿¡ ÀоîµéÀÏ ¼ö°¡ ÀÖ´Ù°í ÇÏ´Â »ç½ÇÀ» ÀÌ¿ëÇÕ´Ï´Ù. À̷лóÀº Àбâ - Ãâ·Â ¶ôÀÇ »ç¿ëÀ¸·Î Çã°¡µÇ´Â º´Ç༺À» Çâ»ó½Ã۸é, »óÈ£ ¹èŸ ¶ôÀ» »ç¿ëÇÏ´Â °æ¿ì¿Í ºñ±³ÇØ ÆÛÆ÷¸Õ½º°¡ Çâ»óÇÕ´Ï´Ù. ½ÇÁ¦·Î´Â º´Ç༺ Çâ»óÀÌ ÃæºÐÈ÷ ½ÇÇöµÇ´Â °ÍÀº º¹¼öÀÇ ÇÁ·Î¼¼¼»ó¿¡¼ »ç¿ëµÇ¾î °øÀ¯ µ¥ÀÌÅÍÀÇ ¾×¼¼½º ÆÐÅÏÀÌ ÀûÇÕÇÑ °æ¿ì¸¸ÀÔ´Ï´Ù.
µ¶ÇØ-Ãâ·Â ¶ô¿¡ ÀÇÇØ »óÈ£ ¹èŸ ¶ôº¸´Ù ÆÛÆ÷¸Õ½º°¡ Çâ»óÇÒÁö ¾î¶³Áö´Â µ¥ÀÌÅÍ º¯°æ¿¡ ´ëÇÑ µ¥ÀÌÅÍ ÀÐÀ» ºóµµ, µ¶ÇØ ¹× Ãâ·ÂÀÇ Áö¼Ó ±â°£ ¹× µ¥ÀÌÅÍÀÇ °æÇÕ, Áï µ¿½Ã¿¡ µ¥ÀÌÅ͸¦ Àо´Â ¶Ç´Â Ãâ·ÂÇÏ´Â threadÀÇ ¼ö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î µ¥ÀÌÅͰ¡ ³ÖÀ» ¼ö ÀÖ´øµÚ ³Ê¹« º¯°æµÇ´Â ÀÏ ¾øÀÌ (µð·ºÅ丮µîÀÌ) ºó¹øÇÏ°Ô °Ë»öµÇ´Â Ä÷º¼ÇÀº µ¶ÇØ-Ãâ·Â ¶ôÀÇ ÀÌ»óÀûÀÎ È帰¡ µË´Ï´Ù. ´Ù¸¸, °»½ÅÀÌ ºó¹øÇÏ°Ô ÇàÇØÁö´Â °æ¿ì, µ¥ÀÌÅÍÀÇ ½Ã°£ÀÇ ´ëºÎºÐÀº ¹èŸÀû ¶ô¿¡ ¼ÒºñµÇ±â ¶§¹®¿¡ º´Ç༺Àº Çâ»óÇÑ´Ù°í ÇØµµ ¸Å¿ì ºÒ°úÀÔ´Ï´Ù. °Ô´Ù°¡ Àбâ Á¶ÀÛÀÇ ½Ã°£ÀÌ ³Ê¹« ªÀ¸¸é, µ¶ÇØ-Ãâ·Â ¶ôÀÇ ±¸Çö¿¡ ÇÑ ¿À¹öÇìµå (º»·¡, »óÈ£ ¹èŸ ¶ôº¸´Ù º¹Àâ)¿¡ ÀÇÇØ ½ÇÇà ÄÚ½ºÆ®°¡ Áö¹èµÇ¾î ¹ö¸± °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ´Ù¼öÀÇ µ¶ÇØ-Ãâ·Â ¶ô ±¸ÇöÀÌ ÀûÀº ÄÚµå ¼½¼ÇÀ¸·Î ¸ðµç thread¸¦ Á÷·ÄÈÇÏ´Â °æ¿ì´Â ƯÈ÷ À̰ÍÀÌ µé¾î¸ÂÀ¾´Ï´Ù. °á±¹, read-Ãâ·Â ¶ôÀÌ »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀ̼ǿ¡ ÀûÀýÇϰí ÀÖ´ÂÁö¸¦ Á¶»çÇÏ·Á¸é, ÇÁ·Î ÆÄÀϸµ°ú ÆÄ¾ÇÀ» ½ÇÇàÇÒ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.
read-Ãâ·Â ¶ôÀÇ ±âº» Á¶ÀÛÀº º¹ÀâÇÏÁö´Â ¾Ê½À´Ï´Ù¸¸, ±¸ÇöÀ¸·Î ½Ç½ÃÇÒ Çʿ䰡 ÀÖ´Â Á¤Ã¥ »óÀÇ °áÁ¤ÀÌ ´Ù¼ö Á¸ÀçÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °áÁ¤Àº ÁöÁ¤µÈ ¾îÇø®ÄÉÀ̼ǿ¡¼ÀÇ Àбâ -Ãâ·Â ¶ôÀÇ È¿°ú¼º¿¡ ¿µÇâÀ» ÁÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Á¤Ã¥ ÀÇ ¿¹¸¦, ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
ReentrantReadWriteLock
,
Lock
,
ReentrantLock
¸Þ¼µå °³¿ä | |
---|---|
Lock |
readLock ()
Àб⿡ »ç¿ëÇÏ´Â ¶ôÀ» ¸®ÅÏÇÕ´Ï´Ù. |
Lock |
writeLock ()
Ãâ·ÂÀ» »ç¿ëÇÏ´Â ¶ôÀ» ¸®ÅÏÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
Lock readLock()
Lock writeLock()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.