threadmanager.java

来自「简单的java程序 自己看啊有问题留言」· Java 代码 · 共 42 行

JAVA
42
字号
package org.jstudio.tools.pcanywhere;

import java.util.*;
import java.net.InetAddress;

/**
 * <p>Title: 线程管理</p>
 */
public class ThreadManager {
    private static HashMap threadMap = new HashMap();

    public static void start(Class cls,Class[] argTypes,Object[] args)throws Exception{
        ThreadServer t = (ThreadServer)threadMap.get(cls.getName());
        if(t==null){
            t = (ThreadServer)(cls.getConstructor(argTypes).newInstance(args));
            t.start();
            System.out.println(cls.getName() + "is start ");
            threadMap.put(cls.getName(),t);
        }
    }

    public static void quit(Class cls){
        ThreadServer t = (ThreadServer)threadMap.get(cls.getName());
        if(t!=null){
            t.quit();
            remove(cls);
            System.out.println(cls.getName() + "is quit ");
        }
    }

    public static void remove(Class cls){
        if(threadMap.containsKey(cls.getName())){
            threadMap.remove(cls.getName());
            System.out.println(cls.getName() + "is remove ");
        }
    }
}

abstract class ThreadServer extends Thread{
    public abstract void quit();
}

⌨️ 快捷键说明

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