📄 msocketcloser.java
字号:
package net.jumperz.net;
import java.io.*;
import net.jumperz.util.*;
import java.util.*;
import java.net.*;
public final class MSocketCloser
extends MSingleThreadCommand
{
private LinkedList socketQueue = new LinkedList();
private static final MSocketCloser instance = new MSocketCloser();
//--------------------------------------------------------------------------------
public static MSocketCloser getInstance()
{
return instance;
}
//--------------------------------------------------------------------------------
public void addSocket( Socket socket )
{
synchronized( socketQueue )
{
socketQueue.addLast( socket );
}
synchronized( mutex )
{
mutex.notify();
}
}
//--------------------------------------------------------------------------------
protected void execute2()
{
while( !socketQueue.isEmpty() )
{
Socket socket = null;
synchronized( socketQueue )
{
socket = ( Socket )socketQueue.getFirst();
socketQueue.removeFirst();
}
try
{
if( !socket.isClosed() )
{
socket.close();
}
}
catch( IOException e )
{
e.printStackTrace();
}
}
}
//--------------------------------------------------------------------------------
private MSocketCloser()
{
mutex = this;
}
//--------------------------------------------------------------------------------
public void breakCommand()
{
terminated = true;
synchronized( this )
{
notify();
}
}
//--------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -