org.wegra.util.dispatcher
Class SynchronousDispatcher

java.lang.Object
  extended byorg.wegra.util.dispatcher.SynchronousDispatcher

public class SynchronousDispatcher
extends java.lang.Object

µ¿±âÀûÀÎ ÅëÁö µð½ºÆÐÃÄ·Î ÀÏ·ÃÀÇ ÀÛ¾÷µéÀ» Â÷·ÊÂ÷·Ê ¼öÇàÇÒ ¼ö ÀÖ°Ô²û ÇØÁØ´Ù. ÀÏ·ÃÀÇ µÎ ±×·ìÀÇ ÀÛ¾÷µéÀÌ ¼­·Î »çÀÌ»çÀÌ¿¡ ³¢¿©¼­ ¼öÇàµÉ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ À̸¦ À§ÇØ ¿©·¯°³ÀÇ ½º·¹µå¸¦ »ç¿ëÇÏÁö´Â ¾Ê´Â´Ù.

Version:
1.0 (2001-09-01)
Author:
wegra(Bok-Youn Lee)

Nested Class Summary
static class SynchronousDispatcher.Test
          for testing
 
Constructor Summary
SynchronousDispatcher()
           
 
Method Summary
 void addHandler(java.lang.Runnable handler)
          appends new handler to the first location of current subscriber list.
 void addHandler(java.lang.Runnable[] handlers)
          ÀÏ·ÃÀÇ ¸®½º³ÊµéÀ» ÃÖ´ëÇÑ ÇöÀç ¸®½ºÆ® Áß°£ Áß°£¿¡ ¹èÄ¡µÉ ¼ö ÀÖµµ·Ï Çϸ鼭 µð½ºÆÐÃÄ¿¡ Ãß°¡ÇÑ´Ù.
 void dispatch(int iterations)
          "iterations"¿¡ ÁÖ¾îÁø ¸¸Å­ ÀÛ¾÷À» µð½ºÆÐÄ¡ÇÑ´Ù. '0'À» ÁöÁ¤ÇÏ¸é ¿µ¿øÈ÷ µ¿ÀÛÇÑ´Ù.
 void meteredDispatch(int iterations, int interval)
          "iterations"¿¡ ÁÖ¾îÁø ¸¸Å­ ¸Å "interval"¸¶´Ù ÀÛ¾÷À» µð½ºÆÐÄ¡ÇÑ´Ù.
 void removeAllHandlers()
          Removes all handlers from this dispatcher.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynchronousDispatcher

public SynchronousDispatcher()
Method Detail

addHandler

public void addHandler(java.lang.Runnable[] handlers)
ÀÏ·ÃÀÇ ¸®½º³ÊµéÀ» ÃÖ´ëÇÑ ÇöÀç ¸®½ºÆ® Áß°£ Áß°£¿¡ ¹èÄ¡µÉ ¼ö ÀÖµµ·Ï Çϸ鼭 µð½ºÆÐÃÄ¿¡ Ãß°¡ÇÑ´Ù.


addHandler

public void addHandler(java.lang.Runnable handler)
appends new handler to the first location of current subscriber list.


dispatch

public void dispatch(int iterations)
"iterations"¿¡ ÁÖ¾îÁø ¸¸Å­ ÀÛ¾÷À» µð½ºÆÐÄ¡ÇÑ´Ù. '0'À» ÁöÁ¤ÇÏ¸é ¿µ¿øÈ÷ µ¿ÀÛÇÑ´Ù. ÀÌ ¸Þ¼Òµå´Â µ¿±âÈ­µÇÁö ¾Ê¾ÒÀ¸¹Ç·Î µð½ºÆÐÃİ¡ ½ÇÇà ÁßÀÌ¶óµµ ÀÛ¾÷ ¸®½ºÆ®´Â º¯°æÀÌ °¡´ÉÇÏ´Ù. °¢ ¹Ýº¹¸¶´Ù ÀÛ¾÷ ¸®½ºÆ®´Â »õ·Ó°Ô º¹»çµÇ¸ç ÀÌ·Î ÀÎÇØ µð½ºÆÐÄ¡°¡ ÁøÇà ÁßÀÌ¶óµµ ÀÛ¾÷ ¸®½ºÆ®´Â º¯°æµÉ ¼ö ÀÖ´Ù. µð½ºÆÐÄ¡ Áß Ãß°¡µÈ ÀÛ¾÷µéÀº ´ÙÀ½ ¹ø ¹Ýº¹¶§ ½ÇÇàµÈ´Ù.

Parameters:
iterations - ÀÛ¾÷ ¹Ýº¹È½¼ö¸¦ ÁöÁ¤ÇÑ´Ù. '-1'ÀÌ ÁÖ¾îÁú °æ¿ì ¿µ¿øÈ÷ µ¿ÀÛÇÑ´Ù.

meteredDispatch

public void meteredDispatch(int iterations,
                            int interval)
"iterations"¿¡ ÁÖ¾îÁø ¸¸Å­ ¸Å "interval"¸¶´Ù ÀÛ¾÷À» µð½ºÆÐÄ¡ÇÑ´Ù. ¸¶Áö¸·À¸·Î ¼öÇàµÇ´Â ÀÛ¾÷Àº run() ¸Þ¼Òµå°¡ ½ÇÇàµÇ´Âµ¥ °É¸®´Â ½Ã°£ÀÌ "interval"º¸´Ù ª´Ù ÇÏ´õ¶óµµ ŸÀÓ ½½·Ô Àüü¸¦ Â÷ÁöÇÑ´Ù. run() ¸Þ¼Òµå°¡ ½ÇÇàµÇ´Â µ¥ °É¸®´Â ½Ã°£ÀÌ interval¿¡ ÁöÁ¤ÇØ ÁØ ½Ã°£À» ³ÑÀ» °æ¿ì ŸÀÌ¹Ö °ü¸®°¡ ºÎÁ¤È®ÇØ Áú ¼ö ÀÖ´Ù. ¸Å interval¸¶´Ù ÀÛ¾÷À» ¼öÇàÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó °¢ ¹Ýº¹ Áß°£¸¶´Ù interval¸¸Å­ ½¬°í ½ÍÀ¸¸é ÀÏÁ¤ ½Ã°£¸¸Å­ È޸鿡 µé¾î°¡´Â Runnable °´Ã¼¸¦ Áß°£Áß°£¿¡ µð½ºÆÐÄ¡ ÇØÁÖ¸é µÈ´Ù.

Parameters:
iterations - ÀÛ¾÷ ¹Ýº¹ Ƚ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. '-1'À» ÁöÁ¤ÇÏ¸é ¿µ¿øÈ÷ ½ÇÇàµÈ´Ù.
interval - °¢ ÀÛ¾÷µéÀº ¸Å interval ¸¶´Ù ½ÇÇàµÈ´Ù.

removeAllHandlers

public void removeAllHandlers()
Removes all handlers from this dispatcher.