| package com.dy.common.threadPool; | 
|   | 
|   | 
| public class Test { | 
|   | 
| // | 
| //    public static void main(String args[])throws Exception { | 
| ////        Test t = new Test(); | 
| ////        t.testShort1(); | 
| ////        t.testShort2(); | 
| ////        t.testLong(); | 
| //    } | 
|   | 
|     /** | 
|      * 测试增加线程线程   | 
|      * @throws Exception  | 
|      * | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     private void testShort1() throws Exception { | 
|         TreadPoolFactory.initThreadPoolShort("测试线程组",    2, 1, 10, 20); | 
|         ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolShort() ; | 
|         try { | 
|             int n = 1 ; | 
|             Thread.sleep(1000); | 
|             while (n < 4) { | 
|                 System.out.println("加入短工作任务(" + n + ")"); | 
|                 pool.putJob(new ThreadPool.Job() { | 
|                     public void execute() { | 
|                         System.out.println("!!!!!开始短工作" + this.hashCode()); | 
|                         try { | 
|                             Thread.sleep(2000); | 
|                         } catch (Exception e) { | 
|                             ; | 
|                         } | 
|                         System.out.println("!!!!!结束短工作" + this.hashCode()); | 
|                     } | 
|                     @Override | 
|                     public void destroy(){ | 
|                     } | 
|                     @Override | 
|                     public boolean isDestroy(){ | 
|                         return false ; | 
|                     } | 
|                 }); | 
|                 n++ ; | 
|                 Thread.sleep(100); | 
|             } | 
|         } catch (Exception e) { | 
|   | 
|         } | 
|     } | 
|     /** | 
|      * 测试增加线程线程   | 
|      * @throws Exception  | 
|      * | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     private void testShort2() throws Exception { | 
|         TreadPoolFactory.initThreadPoolShort("测试短工作线程组", 2, 1, 5, 6); | 
|         ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolShort() ; | 
|         try { | 
|             int n = 1 ; | 
|             Thread.sleep(1000); | 
|             while (n < 2) { | 
|                 System.out.println("加入短工作任务(" + n + ")"); | 
|                 pool.putJob(new ThreadPool.Job() { | 
|                     @Override | 
|                     public void execute() { | 
|                         Long times = 0L ; | 
|                         System.out.println("!!!!!开始短工作" + this.hashCode()); | 
|                         while(true){ | 
|                             if(this.isDestroy == null || !this.isDestroy.booleanValue()){ | 
|                                 times++ ; | 
|                                 System.out.println("!!!!!执行短工作" + this.hashCode() + " 次数:" + times); | 
|                                 try { | 
|                                     Thread.sleep(2000); | 
|                                 } catch (Exception e) { | 
|                                     ; | 
|                                 } | 
| //                                System.out.println("!!!!!结束长工作" + this.hashCode()); | 
|                             } | 
|                         } | 
|                     } | 
|                     @Override | 
|                     public void destroy(){ | 
|                         this.isDestroy = true ; | 
|                     } | 
|                     @Override | 
|                     public boolean isDestroy(){ | 
|                         if(this.isDestroy == null){ | 
|                             return false ; | 
|                         } | 
|                         return this.isDestroy.booleanValue() ; | 
|                     } | 
|                     private Boolean isDestroy; | 
|                 }); | 
|                 n++ ; | 
|                 Thread.sleep(100); | 
|             } | 
|         } catch (Exception e) { | 
|   | 
|         } | 
|     }/** | 
|      * 测试增加线程线程   | 
|      * @throws Exception  | 
|      * | 
|      */ | 
|     @SuppressWarnings("unused") | 
|     private void testLong() throws Exception { | 
|         TreadPoolFactory.initThreadPoolLong("测试长工作线程组", -1, 1, 5, -1); | 
|         ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolLong() ; | 
|         try { | 
|             int n = 1 ; | 
|             Thread.sleep(1000); | 
|             while (n < 2) { | 
|                 System.out.println("加入长工作任务(" + n + ")"); | 
|                 pool.putJob(new ThreadPool.Job() { | 
|                     @Override | 
|                     public void execute() { | 
|                         Long times = 0L ; | 
|                         System.out.println("!!!!!开始长工作" + this.hashCode()); | 
|                         while(true){ | 
|                             if(this.isDestroy == null || !this.isDestroy.booleanValue()){ | 
|                                 times++ ; | 
|                                 System.out.println("!!!!!执行长工作" + this.hashCode() + " 次数:" + times); | 
|                                 try { | 
|                                     Thread.sleep(2000); | 
|                                 } catch (Exception e) { | 
|                                     ; | 
|                                 } | 
| //                                System.out.println("!!!!!结束长工作" + this.hashCode()); | 
|                             } | 
|                         } | 
|                     } | 
|                     @Override | 
|                     public void destroy(){ | 
|                         this.isDestroy = true ; | 
|                     } | 
|                     @Override | 
|                     public boolean isDestroy(){ | 
|                         if(this.isDestroy == null){ | 
|                             return false ; | 
|                         } | 
|                         return this.isDestroy.booleanValue() ; | 
|                     } | 
|                     private Boolean isDestroy; | 
|                 }); | 
|                 n++ ; | 
|                 Thread.sleep(100); | 
|             } | 
|         } catch (Exception e) { | 
|   | 
|         } | 
|     } | 
|   | 
| } |