JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent.atomic
Ŭ·¡½º AtomicMarkableReference<V>

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.concurrent.atomic.AtomicMarkableReference<V>
ÇüÅ ÆĶó¹ÌÅÍ:
V - ÀÌ ÂüÁ¶¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â °´Ã¼ÀÇ ÇüÅÂ

public class AtomicMarkableReference<V>
extends Object

AtomicMarkableReference´Â ¿øÀÚÀûÀ¸·Î °»½Å °¡´ÉÇÑ ¸¶Å© ºñÆ®¿Í ÇÔ²², °´Ã¼ ÂüÁ¶¸¦ °ü¸®ÇÕ´Ï´Ù.

±¸Çö»óÀÇ ÁÖÀÇ. ÀÌ ±¸ÇöÀº ¡¸»óÀÚÆ÷À塹µÈ [ÂüÁ¶, ºÒ¸®¾ð °ª] Æä¾î¸¦ ³ªÅ¸³»´Â ³»ºÎ °´Ã¼¸¦ ÀÛ¼ºÇÔÀ¸·Î½á ¸¶Å© °¡´ÉÇÑ ÂüÁ¶¸¦ °ü¸®ÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.5

»ý¼ºÀÚ °³¿ä
AtomicMarkableReference (V  initialRef, boolean initialMark)
          ÁöÁ¤µÈ ÃʱⰪÀ» »ç¿ëÇØ, »õ·Î¿î AtomicMarkableReference¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean attemptMark (V  expectedReference, boolean newMark)
           ¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹ÀÎ °æ¿ì´Â ¸¶Å©ÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 boolean compareAndSet (V  expectedReference, V  newReference, boolean expectedMark, boolean newMark)
           ¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹À̸ç, ÇöÀçÀÇ ¸¶Å©°¡ ¿¹»óµÇ´Â ¸¶Å©¿¡ µ¿ÀÏÇÑ °æ¿ì, ÂüÁ¶ ¹× ¸¶Å©ÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 V get (boolean[] markHolder)
          ÂüÁ¶ ¹× ¸¶Å©ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 V getReference ()
          ÂüÁ¶ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isMarked ()
          ¸¶Å©ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 void set (V  newReference, boolean newMark)
          ÂüÁ¶ ¹× ¸¶Å©ÀÇ °ªÀ» ¹«Á¶°Ç ¼³Á¤ÇÕ´Ï´Ù.
 boolean weakCompareAndSet (V  expectedReference, V  newReference, boolean expectedMark, boolean newMark)
           ¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹À̸ç, ÇöÀçÀÇ ¸¶Å©°¡ ¿¹»óµÇ´Â ¸¶Å©¿¡ µ¿ÀÏÇÑ °æ¿ì, ÂüÁ¶¿Í ¸¶Å©ÀÇ ¾çÂÊ ¸ðµÎÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

AtomicMarkableReference

public AtomicMarkableReference(V  initialRef,
                               boolean initialMark)
ÁöÁ¤µÈ ÃʱⰪÀ» »ç¿ëÇØ, »õ·Î¿î AtomicMarkableReference¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
initialRef - Ãʱâ ÂüÁ¶
initialMark - Ãʱ⠸¶Å©
¸Þ¼­µåÀÇ »ó¼¼

getReference

public V  getReference()
ÂüÁ¶ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÂüÁ¶ÀÇ ÇöÀç°¡

isMarked

public boolean isMarked()
¸¶Å©ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
¸¶Å©ÀÇ ÇöÀç°¡

get

public V  get(boolean[] markHolder)
ÂüÁ¶ ¹× ¸¶Å©ÀÇ ÇöÀç°¡¸¦ ¸®ÅÏÇÕ´Ï´Ù. º¸Åë ÀÇ »ç¿ë¹ýÀº boolean[1] holder; ref = v.get(holder); ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
markHolder - 1 ÀÌ»óÀÇ »çÀÌÁîÀÇ ¹è¿­. µ¹·ÁÁÙ ¶§¿¡ markholder[0] Àº ¸¶Å©ÀÇ °ªÀ» º¸°ü À¯ÁöÇÕ´Ï´Ù.
¹Ýȯ°ª:
ÂüÁ¶ÀÇ ÇöÀç°¡

weakCompareAndSet

public boolean weakCompareAndSet(V  expectedReference,
                                 V  newReference,
                                 boolean expectedMark,
                                 boolean newMark)
¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹À̸ç, ÇöÀçÀÇ ¸¶Å©°¡ ¿¹»óµÇ´Â ¸¶Å©¿¡ µ¿ÀÏÇÑ °æ¿ì, ÂüÁ¶¿Í ¸¶Å©ÀÇ ¾çÂÊ ¸ðµÎÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ Á¶ÀÛÀÇ ÁöÁ¤µÈ È£ÃâÀº ¿Ü°ü»ó ½ÇÆÐÇÏ´Â (false¸¦ µ¹·ÁÁØ´Ù)°¡ ÇöÀç°¡°¡ ¿¹»óµÇ´Â °ªÀ» º¸°ü À¯ÁöÇØ, ±× °ªÀ» ¼³Á¤ÇÏ·Á°í ÇÏ´Â ´Ù¸¥ thread°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, È£ÃâÀÌ ¹Ýº¹ÇØÁö´Â °ÍÀ¸·Î ÃÖÁ¾ÀûÀ¸·Î ¼º°øÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
expectedReference - ÂüÁ¶°¡ ¿¹»óµÇ´Â °ª
newReference - ÂüÁ¶ÀÇ »õ·Î¿î °ª
expectedMark - ¸¶Å©°¡ ¿¹»óµÇ´Â °ª
newMark - ¸¶Å©ÀÇ »õ·Î¿î °ª
¹Ýȯ°ª:
¼º°øÇßÀ» °æ¿ì´Â true

compareAndSet

public boolean compareAndSet(V  expectedReference,
                             V  newReference,
                             boolean expectedMark,
                             boolean newMark)
¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹À̸ç, ÇöÀçÀÇ ¸¶Å©°¡ ¿¹»óµÇ´Â ¸¶Å©¿¡ µ¿ÀÏÇÑ °æ¿ì, ÂüÁ¶ ¹× ¸¶Å©ÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
expectedReference - ÂüÁ¶°¡ ¿¹»óµÇ´Â °ª
newReference - ÂüÁ¶ÀÇ »õ·Î¿î °ª
expectedMark - ¸¶Å©°¡ ¿¹»óµÇ´Â °ª
newMark - ¸¶Å©ÀÇ »õ·Î¿î °ª
¹Ýȯ°ª:
¼º°øÇßÀ» °æ¿ì´Â true

set

public void set(V  newReference,
                boolean newMark)
ÂüÁ¶ ¹× ¸¶Å©ÀÇ °ªÀ» ¹«Á¶°Ç ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
newReference - ÂüÁ¶ÀÇ »õ·Î¿î °ª
newMark - ¸¶Å©ÀÇ »õ·Î¿î °ª

attemptMark

public boolean attemptMark(V  expectedReference,
                           boolean newMark)
¡¸ÇöÀçÀÇ ÂüÁ¶ == ¿¹»óµÇ´Â ÂüÁ¶¡¹ÀÎ °æ¿ì´Â ¸¶Å©ÀÇ °ªÀÌ ÁöÁ¤µÈ °»½ÅÄ¡¿¡ ¿øÀÚÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ Á¶ÀÛÀÇ ÁöÁ¤µÈ È£ÃâÀº ¸ðµÎ, ¿Ü°ü»ó ½ÇÆÐÇÒ (false¸¦ µ¹·ÁÁÙ) °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ´Ù¸¸, ÇöÀçÀÇ °ªÀÌ ¿¹»óµÇ´Â °ªÀ» º¸°ü À¯ÁöÇØ, °ªÀÇ ¼³Á¤À» ½ÃµµÇÏ´Â ´Ù¸¥ thread°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â È£ÃâÀÌ ¹Ýº¹ÇØ ½ÇÇàµÇ´Â °ÍÀ¸·Î ÃÖÁ¾ÀûÀ¸·Î ¼º°øÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
expectedReference - ÂüÁ¶°¡ ¿¹»óµÇ´Â °ª
newMark - ¸¶Å©ÀÇ »õ·Î¿î °ª
¹Ýȯ°ª:
¼º°øÇßÀ» °æ¿ì´Â true

JavaTM 2 Platform
Standard Ed. 5.0

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