zhubaomin
2025-04-11 d1e380d5bc8d6cda7dc26778dd638b3367483ae7
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/threadPool/Test.java
New file
@@ -0,0 +1,157 @@
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) {
      }
   }
}