gprsthreadpool.java

来自「GPRS数据通讯软件源码」· Java 代码 · 共 89 行

JAVA
89
字号
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package documenteditor;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JOptionPane;/** * * @author Administrator */public class GPRSThreadPool extends Thread{        private ServerSocket GPRSService = null;        private ExecutorService GPRSExecutorService = null; //线程池        private DocumentEditorView dev = null;//视图        private DBConn dbconn = null;        private MessageQueue devMessage = null;//视图信息显示队列        private Messenger messenger = null;        private ChangIcoThread changIcoThread = null;//图标动画线程        private LogClass logClass = null;//写日志线程        //i表示最大线程数    public GPRSThreadPool(int i,DocumentEditorView dev){        logClass = new LogClass();        logClass.start();        devMessage = new MessageQueue(10);        GPRSExecutorService = Executors.newFixedThreadPool(i);        this.dev = dev;        messenger = new Messenger(dev, devMessage);        messenger.start();        dbconn = new DBConn(dev,devMessage,logClass);        dbconn.start();        changIcoThread = new ChangIcoThread(dev);        changIcoThread.start();    }        //添加线程    public void execute(GPRSClientThread thread){        GPRSExecutorService.execute(thread);                //        dev.getOnlineNode().add(tsn);//        dev.getJTree1().expandRow(1);    }        @Override    public void run(){        try {            GPRSService = new ServerSocket(7000,100);            devMessage.Enqueue("已打开端口:7000");            if(GPRSService.getReceiveBufferSize()<10240){                GPRSService.setReceiveBufferSize(10240);            }            while (true) {                try {                    sleep(1);                    Socket socket = null;                    socket = GPRSService.accept();                    GPRSClientThread gct = new GPRSClientThread(socket,dbconn,devMessage,changIcoThread,logClass);                    logClass.SendWriteLog(socket.getInetAddress().toString()+":"+Integer.toString(socket.getPort()), "System");                    execute(gct);                } catch (InterruptedException ex) {                    Logger.getLogger(GPRSThreadPool.class.getName()).log(Level.SEVERE, null, ex);                }            }        } catch (IOException ex) {            //Logger.getLogger(GPRSThreadPool.class.getName()).log(Level.SEVERE, null, ex);            JOptionPane.showMessageDialog(dev.getFrame(), "端口:7000已被占用,程序即将退出。");            System.exit(-1);        }    }}

⌨️ 快捷键说明

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