| New file | 
|  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|