⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queuepuller.java

📁 Java游戏高级编程!!很不错的!!!Java游戏高级编程!!很不错的
💻 JAVA
字号:
     package com.croftsoft.core.util.queue;

     import com.croftsoft.core.lang.NullArgumentException;     import com.croftsoft.core.lang.lifecycle.Lifecycle;     import com.croftsoft.core.role.Consumer;
     import com.croftsoft.core.util.loop.Loopable;     import com.croftsoft.core.util.loop.Looper;
     /*********************************************************************
     * Pulls objects out of the queue in a separate thread.     *
     * @version
     *   2003-05-27
     * @since
     *   1998-11-23
     * @author
     *   <a href="http://www.croftsoft.com/">David Wallace Croft</a>
     *********************************************************************/

     public final class  QueuePuller       implements Lifecycle     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     {

     private final Queue     queue;     private final Consumer  consumer;     private final Looper    looper;

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public  QueuePuller (       Queue     queue,       Consumer  consumer )
     //////////////////////////////////////////////////////////////////////
     {       NullArgumentException.check ( this.queue    = queue    );       NullArgumentException.check ( this.consumer = consumer );       looper = new Looper (         new Loopable ( )         {           public boolean  loop ( )           {             return QueuePuller.this.loop ( );           }         } );     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     public void  init ( )
     //////////////////////////////////////////////////////////////////////
     {       looper.init ( );
     }

     public void  start ( )
     //////////////////////////////////////////////////////////////////////
     {       looper.start ( );
     }

     public void  stop ( )
     //////////////////////////////////////////////////////////////////////
     {       looper.stop ( );
     }

     public void  destroy ( )
     //////////////////////////////////////////////////////////////////////
     {       looper.destroy ( );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     public boolean  append ( Object  o )
     //////////////////////////////////////////////////////////////////////
     {
       return queue.append ( o );
     }

     public Object  replace ( Object  o )
     //////////////////////////////////////////////////////////////////////
     {
       return queue.replace ( o );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////     private boolean  loop ( )     //////////////////////////////////////////////////////////////////////
     {       try       {         consumer.consume ( queue.pull ( ) );       }       catch ( InterruptedException  ex )       {       }       return true;           }
     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -