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