JavaTM 2 Platform
Standard Ed. 5.0

java.nio.channels
Ŭ·¡½º FileLock

java.lang.Object 
  »óÀ§¸¦ È®Àå java.nio.channels.FileLock

public abstract class FileLock
extends Object

ÆÄÀÏ ¿µ¿ª»óÀÇ ¶ôÀ» ³ªÅ¸³»´Â ÅäÅ«ÀÔ´Ï´Ù.

FileChannel Ŭ·¡½ºÀÇ lock ¸Þ¼­µå³ª tryLock ¸Þ¼­µå¸¦ »ç¿ëÇØ ÆÄÀÏ»ó¿¡ ¶ôÀ» ȹµæÇϸé, ±×¶§¸¶´Ù ÆÄÀÏ ¶ô °´Ã¼°¡ ÀÛ¼ºµË´Ï´Ù.

ÆÄÀÏ ¶ô °´Ã¼´Â óÀ½ºÎÅÍ À¯È¿ÇÏ°í, release ¸Þ¼­µåÀÇ È£ÃâÇØ, ¶ôÀÇ È¹µæ¿¡ »ç¿ëÇÑ Ã¤³ÎÀÇ Å¬·Î¿ìÁî, Java °¡»ó ¸Ó½ÅÀÇ Á¾·áµî¿¡ ÀÇÇØ ÇعæµÉ ¶§±îÁö, ±× »óŸ¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. ¶ôÀÇ À¯È¿¼ºÀº, isValid ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄÀÏ ¶ô¿¡´Â ¡¸¹èŸ ¶ô¡¹°ú¡¸°øÀ¯ ¶ô¡¹ÀÌ ÀÖ½À´Ï´Ù. °øÀ¯ ¶ôÀÇ °æ¿ì, µ¿½Ã¿¡ ½ÇÇàµÇ°í ÀÖ´Â ±× ¿ÜÀÇ ÇÁ·Î±×·¥Àº ¿À¹ö·¦ ÇÏ´Â ¹èŸ ¶ôÀ» ȹµæÇÒ ¼ö ¾ø½À´Ï´Ù. ¿À¹ö·¦ ÇÏ´Â °øÀ¯ ¶ôÀ̸é ȹµæ °¡´ÉÇÕ´Ï´Ù. ÇÑÆí, ¹èŸ ¶ôÀÇ °æ¿ì, ¾î´À ÂÊÀÇ Á¾·ùÀÇ ¶ôµµ ȹµæÇÒ ¼ö ¾ø½À´Ï´Ù. ¶ôÀ» ÇعæÇϸé, ±× ¿ÜÀÇ ÇÁ·Î±×·¥¿¡ ÀÇÇØ È¹µæµÇ´Â ¶ô¿¡ÀÇ ¿µÇâÀº ¾ø¾îÁý´Ï´Ù.

¹èŸ ¶ôÀÏ±î °øÀ¯ ¶ôÀϱî´Â isShared ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. °øÀ¯ ¶ôÀ» Áö¿ø ÇÏÁö ¾Ê´Â Ç÷§Æû¿¡¼­´Â °øÀ¯ ¶ô ¿ä±¸°¡ ÀÚµ¿ÀûÀ¸·Î ¹èŸ ¶ô ¿ä±¸¿¡ º¯È¯µË´Ï´Ù.

´ÜÀÏÀÇ Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ Æ¯Á¤ÀÇ ÆÄÀÏ»ó¿¡ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ¶ôÀº ¿À¹ö·¦ ÇÏÁö ¾Ê½À´Ï´Ù. È帰¡ µÇ´Â ¶ôÀÇ ¹üÀ§°¡ ±âÁ¸ÀÇ ¶ô°ú ¿À¹ö·¦ ÇÒÁö ¾î¶³Áö´Â overlaps ¸Þ¼­µå·Î È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄÀÏ ¶ô °´Ã¼´Â ¶ôÀ» º¸°ü À¯ÁöÇÏ°í ÀÖ´Â ÆÄÀÏ, ¶ôÀÇ Á¾·ù¿Í À¯È¿¼º, ¶ô µÈ ¿µ¿ªÀÇ À§Ä¡¿Í »çÀÌÁî¿¡ °üÇÑ ÆÄÀÏ Ã¤³Î Á¤º¸¸¦ ±â·ÏÇÕ´Ï´Ù. ½Ã°£ÀÇ °æ°ú¿Í ÇÔ²² º¯È­ÇÏ´Â °ÍÀº ¶ôÀÇ À¯È¿¼º »ÓÀÔ´Ï´Ù. ±× ¿ÜÀÇ ¶ô »óÅ´ ºÒº¯ÀÔ´Ï´Ù.

ÆÄÀÏ ¶ôÀº Java °¡»ó ¸Ó½Å Àüü¸¦ À§Çؼ­ º¸°ü À¯ÁöµË´Ï´Ù. À̰͵éÀº µ¿ÀÏ °¡»ó ¸Ó½Å³»ÀÇ º¹¼ö thread¿¡ ÇÑ ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º¸¦ Á¦¾îÇϴµ¥´Â ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù.

ÆÄÀÏ ¶ô °´Ã¼´Â º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç÷§ÆûÀÇ Á¸¼º

ÀÌ ÆÄÀÏ ¶ô API´Â ±âÃÊ¿¡ ÀÖ´Â OS ÀÇ ³×ÀÌƼºêÀÇ ¶ô ±â´É¿¡ Á÷Á¢ ¸ÅÇÎ µË´Ï´Ù. ÀÌ ¶§¹®¿¡ ÆÄÀÏ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ¸ðµç ÇÁ·Î±×·¥ÀÌ, ÀÛ¼º¿¡ »ç¿ëµÈ ¾ð¾î¿Í´Â °ü°è¾øÀÌ, ÀÌ ÆÄÀÏ»ó¿¡ º¸°ü À¯ÁöµÈ ¶ôÀ» ÀνÄÇÕ´Ï´Ù.

¶ô µÈ ¿µ¿ªÀÇ ÄÁÅÙÃ÷¿¡ ±× ¿ÜÀÇ ÇÁ·Î±×·¥À¸·ÎºÎÅÍ ¾×¼¼½º ÇÒ ¼ö ¾ø°Ô µÉÁö ¾î¶³Áö´Â ½Ã½ºÅÛ¿¡ ÀÇÇØ Á¤ÇØÁö±â ¶§¹®¿¡ ¹ÌÁöÁ¤ÀÔ´Ï´Ù. ³×ÀÌƼºêÀÇ ÆÄÀÏ ¶ôÀ¸·Î¼­ ¡¸¾Æµå¹ÙÀÌÀÚ¸®·ÏÅ©¡¹ ¹Û¿¡ Áö¿ø ÇÏÁö ¾Ê´Â ½Ã½ºÅÛµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ½Ã½ºÅÛ¿¡¼­´Â µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» º¸ÁõÇϱâ À§ÇØ, ÇÁ·Î±×·¥À» »ç¿ëÇØ ±âÁ¸ÀÇ ¶ô ÇÁ·ÎÅäÄÝÀ» °¨½ÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÇÑÆí, ³×ÀÌƼºêÀÇ ÆÄÀÏ ¶ôÀÌ ¡¸Çʼö ¶ô¡¹À̶ó°í ÇÏ´Â ½Ã½ºÅÛµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ¾î´À ÇÁ·Î±×·¥¿¡ ÀÇÇØ ÆÄÀÏ ¿µ¿ªÀÌ ¶ô µÇ°í ÀÖÀ» ¶§, ±× ¿ÜÀÇ ÇÁ·Î±×·¥À¸·ÎºÎÅÍ ¶ôÀ» Âõ¾î ¾×¼¼½º ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ¿Ü, ³×ÀÌƼºêÀÇ ÆÄÀÏ ¶ôÀ» ¾Æµå¹ÙÀÌÀÚ¸®·ÏÅ©·Î ÇÒ±î Çʼö ¶ôÀ¸·Î Çұ ÆÄÀÏ ´ÜÀ§·Î ¼±ÅÃÇÒ ¼ö ÀÖ´Â ½Ã½ºÅÛµµ ÀÖ½À´Ï´Ù. Ç÷§Æû°£ÀÇ µ¿ÀÛÀÇ ÀÏ°ü¼º°ú Á¤È®¼ºÀ» È®º¸Çϱâ À§Çؼ­´Â ÀÌ API Á¦°øÇÏ´Â ¶ôÀ» ¾Æµå¹ÙÀÌÀÚ¸®·ÏÅ©·Î¼­ »ç¿ëÇÏ´Â °ÍÀ» °­ÇÏ°Ô ÃßõÇÕ´Ï´Ù.

½Ã½ºÅÛ¿¡ µû¶ó¼­´Â ÆÄÀÏ ¿µ¿ª»ó¿¡¼­ Çʼö ¶ôÀ» ȹµæÇϸé, ±× ÆÄÀÏ ¿µ¿ªÀ»¸Þ¸ð¸®¿¡ ¸Ê ÇÒ ¼ö ¾ø°Ô µÇ°Å³ª ¹Ý´ë·Î ¸Þ¸ð¸®¸¦ ÆÄÀÏ ¿µ¿ª¿¡ ¸Ê ÇÒ ¼ö ¾ø°Ô µÇ°Å³ª ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶ô°ú ¸ÅÇÎÀÇ ¾çÂÊ ¸ðµÎ¸¦ Á¶ÇÕÇØ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥¿¡¼­´Â ÀÌ Æí¼ºÀÌ ½ÇÆÐÇÏ´Â °Í¿¡ ÁغñÇØ µÑ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

½Ã½ºÅÛ¿¡ µû¶ó¼­´Â ä³ÎÀ» Ŭ·Î¿ìÁî Çϸé, ±âÃÊ¿¡ ÀÖ´Â ÆÄÀϻ󿡼­ Java °¡»ó ¸Ó½Å¿¡ ÀÇÇØ º¸°ü À¯ÁöµÇ°í ÀÖ´ø ¶ôÀÌ, ±× ä³Î·ÎºÎÅÍ È¹µæÇß´ÂÁö, ¶Ç´Â °°Àº ÆÄÀϻ󿡼­ ¿ÀÇÂÇÏ°í ÀÖ´Â ´Ù¸¥ ä³Î·ÎºÎÅÍ È¹µæÇß´ÂÁö¸¦ °ü°è¾øÀÌ, ¸ðµÎ ÇØÁ¦µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ´ÜÀÏÀÇ ÇÁ·Î±×·¥³»¿¡¼­´Â ¾î´À ƯÁ¤ÀÇ ÆÄÀÏ»óÀÇ ¸ðµç ¶ôÀ» ÀÏÀÇÀÇ Ã¤³Î·Î ȹµæÇÏ´Â °ÍÀ» °­ÇÏ°Ô ÃßõÇÕ´Ï´Ù.

ÀϺÎÀÇ ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ¶ô µÈ ¿µ¿ªÀÌ ÆäÀÌÁöÇüÀ¸·Î ±âÃÊ¿¡ ÀÖ´Â Çϵå¿þ¾îÀÇ ÆäÀÌÁö »çÀÌÁîÀÇ ¿ÏÀü ¹è¼öÀÎ °æ¿ì¿¡ ÇÑÁ¤ÇØ, ÆÄÀÏ ¶ôÀ» ¸Þ¸ð¸® ¸Ê À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù . ¶Ç ´Ù¸¥ ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ƯÁ¤ÀÇ À§ºÎÅÍ À§ (º¸Åë 230 ¶Ç´Â 231)ÀÇ ¿µ¿ª»óÀÇ ÆÄÀÏ ¶ôÀÌ ±¸ÇöµÇÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ»óÀÇ ÆÄÀÏÀ» Àá±Û ¶§´Â ¼¼½ÉÀÇ ÁÖÀ§¸¦ ±â¿ïÀÏ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

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

»ý¼ºÀÚ °³¿ä
protected FileLock (FileChannel  channel, long position, long size, boolean shared)
          ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 FileChannel channel ()
          ÀÌ ¶ôÀÌ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ÆÄÀÏÀ» °¡Áö´Â ÆÄÀÏ Ã¤³ÎÀ» ¸®ÅÏÇÕ´Ï´Ù.
 boolean isShared ()
          ÀÌ ¶ôÀÌ °øÀ¯ ¶ôÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.
abstract  boolean isValid ()
          ÀÌ ¶ôÀÌ À¯È¿ÇÑÁö ¾î¶²Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.
 boolean overlaps (long position, long size)
          ÀÌ ¶ôÀÌ ÁöÁ¤µÈ ¶ô ¹üÀ§¿Í ¿À¹ö·¦ ÇÏ°í ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.
 long position ()
          ÆÄÀϳ»ÀÇ ¶ô µÈ ¿µ¿ªÀÇ ÃÖÃÊÀÇ ¹ÙÀÌÆ®ÀÇ À§Ä¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.
abstract  void release ()
          ÀÌ ¶ôÀ» ÇØÁ¦ÇÕ´Ï´Ù.
 long size ()
          ¶ô µÈ ¿µ¿ªÀÇ »çÀÌÁ ¹ÙÀÌÆ®·Î ¸®ÅÏÇÕ´Ï´Ù.
 String toString ()
          ÀÌ ¶ôÀÇ ¹üÀ§, Á¾·ù, À¯È¿¼ºÀ» ¼³¸íÇϴ ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

FileLock

protected FileLock(FileChannel  channel,
                   long position,
                   long size,
                   boolean shared)
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
channel - ÀÌ ¶ôÀÌ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ÆÄÀÏÀ» °¡Áö´Â ÆÄÀÏ Ã¤³Î
position - ÆÄÀϳ»ÀÇ ¶ô µÈ ¿µ¿ªÀÇ °³½Ã À§Ä¡. À߸øµÈ °ª ÀÌ¿Ü
size - ¶ô ¿µ¿ªÀÇ »çÀÌÁî. À߸øµÈ °ª ÀÌ¿Ü. position + size ÇÕ°èµµ À߸øµÈ °ª ÀÌ¿Ü
shared - ÀÌ ¶ôÀÌ °øÀ¯ ¶ôÀÇ °æ¿ì´Â true, ¹èŸ ¶ôÀÇ °æ¿ì´Â false
¿¹¿Ü:
IllegalArgumentException - »ó±âÀÇ ÆĶó¹ÌÅÍÀÇ ÀüÁ¦ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

channel

public final FileChannel  channel()
ÀÌ ¶ôÀÌ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ÆÄÀÏÀ» °¡Áö´Â ÆÄÀÏ Ã¤³ÎÀ» ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÆÄÀÏ Ã¤³Î

position

public final long position()
ÆÄÀϳ»ÀÇ ¶ô µÈ ¿µ¿ªÀÇ ÃÖÃÊÀÇ ¹ÙÀÌÆ®ÀÇ À§Ä¡¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¶ô µÈ ¿µ¿ªÀÌ ±âÃÊ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ Æ÷ÇԵǾî Àְųª, ¿À¹ö·¦ Çϰųª ÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÇöÀçÀÇ ÆÄÀÏ »çÀÌÁî ÀÌ»óÀÇ °ªÀ» µ¹·ÁÁÖ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
À§Ä¡

size

public final long size()
¶ô µÈ ¿µ¿ªÀÇ »çÀÌÁ ¹ÙÀÌÆ®·Î ¸®ÅÏÇÕ´Ï´Ù.

¶ô µÈ ¿µ¿ªÀÌ ±âÃÊ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ Æ÷ÇԵǾî Àְųª, ¿À¹ö·¦ Çϰųª ÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÇöÀçÀÇ ÆÄÀÏ »çÀÌÁî ÀÌ»óÀÇ °ªÀ» µ¹·ÁÁÖ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
¶ô µÈ ¿µ¿ªÀÇ »çÀÌÁî

isShared

public final boolean isShared()
ÀÌ ¶ôÀÌ °øÀ¯ ¶ôÀÏÁö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
°øÀ¯ ¶ôÀÇ °æ¿ì´Â true, ¹èŸ ¶ôÀÇ °æ¿ì´Â false

overlaps

public final boolean overlaps(long position,
                              long size)
ÀÌ ¶ôÀÌ ÁöÁ¤µÈ ¶ô ¹üÀ§¿Í ¿À¹ö·¦ ÇÏ°í ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¶ô°ú ÁöÁ¤µÈ ¶ô ¹üÀ§°¡ 1 ¹ÙÀÌÆ® ÀÌ»ó ¿À¹ö·¦ ÇÏ°í ÀÖ´Â °æ¿ì¿¡ ÇÑÁ¤ÇØ true

isValid

public abstract boolean isValid()
ÀÌ ¶ôÀÌ À¯È¿ÇÑÁö ¾î¶²Áö¸¦ ÆÇ´ÜÇÕ´Ï´Ù.

¶ô °´Ã¼´Â ¶ôÀÌ ÇعæµÇ´ÂÁö, °ü·ÃÇÑ ÆÄÀÏ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÉ ¶§±îÁö À¯È¿ÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¶ôÀÌ À¯È¿ÇÑ °æ¿ì¿¡ ÇÑÁ¤ÇØ true

release

public abstract void release()
                      throws IOException 
ÀÌ ¶ôÀ» ÇØÁ¦ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé, ¶ô °´Ã¼°¡ À¯È¿ÇÏ¸é ¶ôÀÌ ÇØÁ¦µÇ¾î ¹«È¿°¡ µË´Ï´Ù. ¶ô °´Ã¼°¡ ¹«È¿ÀÎµé º¯È­´Â ¾ø½À´Ï´Ù.

¿¹¿Ü:
ClosedChannelException - ÀÌ ¶ôÀÇ È¹µæ¿¡ »ç¿ëÇÑ Ã¤³ÎÀÌ ¿ÀÇÂÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

toString

public final String  toString()
ÀÌ ¶ôÀÇ ¹üÀ§, Á¾·ù, À¯È¿¼ºÀ» ¼³¸íÇϴ ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
¼³¸í¹®ÀÚ¿­

JavaTM 2 Platform
Standard Ed. 5.0

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