📄 cleandeadconnect.java
字号:
package serverframe;import java.io.*;import java.awt.*;import java.net.*;import java.util.*;import java.awt.event.*;import javax.swing.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */class CleanDeadConnect extends Thread{ ServerThread sThread; ClientThread temp; String m; public CleanDeadConnect(ServerThread sThread) { this.sThread = sThread; } public void run() { while(true) { try { Thread.sleep(2000); } catch(InterruptedException E){} synchronized(sThread.Clients) { for(int i=0;i<sThread.Clients.size();i++)//循环客户机次检查处理客户机的线程是否死亡 { temp = (ClientThread)sThread.Clients.elementAt(i);//返回指定的线程 if(!temp.isAlive())//判断是否死亡,死亡的线程isAlive返回false { ClientThread.ConnectNumber--; m ="talk"+ temp.getClientName() + ":" + temp.getClientAddress(); m = m + "已离开 目前连线数: " + ClientThread.ConnectNumber + "\n"; sThread.frame.ServerStatus.append(m); synchronized(sThread.messages) { sThread.messages.addElement(m);//把死亡线程消息加入消息队列 } sThread.Clients.removeElementAt(i);//在线程vector中移除该死亡的线程 } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -