org.wegra.io
Class ThreadSafeOutputStream

java.lang.Object
  extended byjava.io.OutputStream
      extended byorg.wegra.io.ThreadSafeOutputStream

public final class ThreadSafeOutputStream
extends java.io.OutputStream

AsynchronousDispatcher¸¦ ÀÌ¿ëÇØ ½º·¹µå¿¡ ¾ÈÀüÇÑ OutputStreamÀ» ±¸ÇöÇÑ Å¬·¡½º ÀÌ Å¬·¡½º´Â ¶óÀÎ ´ÜÀ§·Î ½º·¹µå¿¡ ¾ÈÀüÇÏ°Ô Ãâ·ÂÇÒ ¼ö ÀÖµµ·Î º¸ÀåÇØÁØ´Ù.


Nested Class Summary
static class ThreadSafeOutputStream.Test
          Å×½ºÆ®¿ë Ŭ·¡½º µÎ ½º·¹µå°¡ µ¿½Ã¿¡ °¢ ¹®Àå´ç ÀÓÀÇÀÇ ½Ã°£¸¸Å­ ½¬¾î°¡¸ç ÄܼÖÀ» »ç¿ëÇÑ´Ù.
 
Constructor Summary
ThreadSafeOutputStream()
           
 
Method Summary
 void close()
          OutputStreamÀÇ close() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å Çß´Ù.
 void flush()
          OutputStreamÀÇ flush() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å ÇÑ´Ù.
static ThreadSafeOutputStream getInstance()
          ThreadSafeOutputStreamÀº ½Ì±ÛÅæÀ̹ǷΠ¿ÀÁ÷ ÇϳªÀÇ °´Ã¼¸¸ÀÌ ÀÖÀ» ¼ö ÀÖ´Ù.
 void println(java.lang.String s)
          ÆíÀÇ»ó ¸¸µé¾î ³õÀº ¸Þ¼Òµå·Î ÀÌ ¸Þ¼Òµå´Â ThreadSafeOutputStreamÀ» DataOutputStream À¸·Î ·¦ÇÎÇÏÁö ¾Ê°íµµ ¹®ÀÚ¿­À» Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
static void shutdown()
          ¼ø¼­¿¡ ¸ÂÃç ½ºÆ®¸²À» Á¾·áÇÑ´Ù.
 void write(int character)
          OutputStreamÀÇ write() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵åÇÑ´Ù.
 
Methods inherited from class java.io.OutputStream
write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThreadSafeOutputStream

public ThreadSafeOutputStream()
Method Detail

close

public void close()
           throws java.io.IOException
OutputStreamÀÇ close() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å Çß´Ù. ¹öÆÛ¸µµÇ¾î ÀÖ´ø µ¥ÀÌÅ͵éÀº º¸µÎ flushµÈ´Ù. ÀÌÈÄÀÇ ¿äûÀº ¸ðµÎ ¹«½ÃµÈ´Ù.

Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
OutputStreamÀÇ flush() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵å ÇÑ´Ù. ÇöÀç±îÁö ¹öÆÛ¸µ µÈ ³»¿ë µÚ¿¡ °³ÇÚ ¹®ÀÚ°¡ Ãß°¡µÇ¾î Ãâ·ÂµÈ´Ù. ÀÌ ¸Þº¸µå´Â ºí·ÏÅ·µÇÁö ¾Ê´Â´Ù.

Throws:
java.io.IOException

getInstance

public static final ThreadSafeOutputStream getInstance()
ThreadSafeOutputStreamÀº ½Ì±ÛÅæÀ̹ǷΠ¿ÀÁ÷ ÇϳªÀÇ °´Ã¼¸¸ÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ½Ã½ºÅÛ »ó¿¡¼­ ´Ü Çϳª»ÓÀÎ ThreadSafeOutputStream ÀνºÅϽº¸¦ ¹ÝȯÇÑ´Ù.

Returns:
½º·¹µå¿¡ ¾ÈÀüÇå ThreadSafeOutputStreamÀ» ¹ÝȯÇÑ´Ù. µû¶ó¼­ Ç¥ÁØ java.io µ¥ÄÚ·¹ÀÌÅÍ Å¬·¡½º¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ Ãâ·Â ½ºÆ®¸²Àº ½º·¹µå º°·Î °³Çà ¹®ÀÚ°¡ ¿Ã ¶§±îÁö ¹öÆÛ¸µÇÑ´Ù. ÄÜ¼Ö °´Ã¼´Â °³ÇÚ ¹®ÀÚ°¡ ¿À¸é ÇöÀç±îÁö ¹öÆÛ¸µ µÈ ³»¿ëÀ» Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³½´Ù.

println

public void println(java.lang.String s)
ÆíÀÇ»ó ¸¸µé¾î ³õÀº ¸Þ¼Òµå·Î ÀÌ ¸Þ¼Òµå´Â ThreadSafeOutputStreamÀ» DataOutputStream À¸·Î ·¦ÇÎÇÏÁö ¾Ê°íµµ ¹®ÀÚ¿­À» Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.


shutdown

public static void shutdown()
¼ø¼­¿¡ ¸ÂÃç ½ºÆ®¸²À» Á¾·áÇÑ´Ù. ThreadSafeOutputStreamÀº ³»ºÎÀûÀ¸·Î µ¥¸ó ½º·¹µå¸¦ »ç¿ëÇϹǷΠ¸í½ÃÀûÀ¸·Î ÀÌ Å¬·¡½º¸¦ Á¾·áÇØÁÖÁö ¾Ê¾Æµµ µÇÁö¸¸ ´õ ÀÌ»ó Ãâ·ÂÇÒ °ÍÀÌ ¾ø´Â ¼Í¿ì¿¡´Â close()¸¦ È£ÃâÇØ¼­ ´õ ÀÌ»ó ¾µ¸ð ¾ø´Â ½º·¹µå¸¦ ¾ø¾ÖÁÙ ¼öµµ ÀÖ´Ù. ¹öÆÛ¸µµÇ¾î ÀÖ´ø ¸ðµç µ¥ÀÌÅ͵éÀÌ ÀÒ¾î¹ö¸®°Ô µÈ´Ù. ÀÌÈÄ getInstance() ¸Þ¼Òµå°¡ È£ÃâµÇ¸é »õ·Î¿î ½Ì±ÛÅæ °´Ã¼°¡ ¸¸µé¾îÁ®¼­ ¹ÝȯµÈ´Ù.


write

public void write(int character)
           throws java.io.IOException
OutputStreamÀÇ write() ¸Þ¼Òµå¸¦ ¿À¹ö¶óÀ̵åÇÑ´Ù. OutputStreamÀÇ ´Ù¸¥ write() ¸Þ¼ÒµåµéÀº ÀÌ ¸Þ¼Òµå¸¦ °æÀ¯Çϵµ·Ï ¸¸µé¾îÁ® ÀÖ´Ù. µû¶ó¼­ À̵éÀº ¿À¹ö¶óÀ̵åÇÒ Çʿ䰡 ¾ø´Ù. ½º·¹µå´Â °³Çà ¹®ÀÚ¸¦ ¸¸³¯ ¶§±îÁö ¾î¶°ÇÑ Ãâ·Â ¿äûµµ ½ÇÁ¦ È­¸é »ó¿¡ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù(ÀÌ·± ¹æ½ÄÀ¸·Î ½º·¹µå °´Ã¼º°·Î Àε­½Ì µÈ ÇØ½Ã Å×À̺íÀ» »ç¿ëÇØ¼­ ±¸ÇöµÇ¾ú´Ù. ÀÌ ÇØ½Ã Å×ÀÌºí¿¡´Â Áö±Ý±îÁö ÃàÁ¤µÈ ij¸¯Å͸¦ ´ã´Â ¹öÆÛ°¡ µé¾î°£´Ù). °³Çà ¹®ÀÚ¸¦ ¸¸³ª¸é ÇöÀç±îÁö ÃàÀûµÈ ¹öÆÛ´Â ºñ¿öÁø´Ù. ÀÏ´Ü ÄܼÖÀÌ Á¾·áµÈ ÀÌÈÄ¿¡´Â ¸ðµç ¾²±â ¿äûÀÌ ¹«½ÃµÈ´Ù.

Throws:
java.io.IOException