📄 gprsthreadpool.java
字号:
/* * 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -