太鲜灵儿了!
package com.cxz.tools;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public abstract class TcpServer implements Runnable, Cloneable {
Thread runner = null;
ServerSocket server = null;
Socket data = null;
volatile boolean shouldStop = false;
public synchronized void startServer(int port) throws IOException {
if (runner == null) {
server = new ServerSocket(port);
runner = new Thread(this);
runner.start();
}
}
public synchronized void stopServer() {
if (server != null) {
shouldStop = true;
runner.interrupt();
runner = null;
try {
server.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void run() {
if (server != null) {
while (!shouldStop) {
try {
Socket dataSocket = server.accept();
TcpServer newSocket = (TcpServer) clone();
newSocket.server = null;
newSocket.data = dataSocket;
newSocket.runner = new Thread(newSocket);
newSocket.runner.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
} else {
run(data);
}
}
abstract private void run(Socket socket);
public static void main(String[] args) throws IOException {
new TcpServer().startServer(8080);
}
}
分享到:
相关推荐
本书的新版本展示了如何利用Java线程工具的全部优势,并介绍了JDK 2线程接口中的最新变化。你将学习如何使用线程来提高效率,如何有效地使用它们,以及如何避免常见的错误。本书讨论了死锁、竞态条件以及饥饿等问题...
用AfxBeginThread来创建线程的简单例子!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
java多线程例子!.doc
Java线程Java线程Java线程Java线程
java多线程的经典例子教程,精心整理的word文档。
Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解
Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 ...
学习java多线程的经典例子,让你深刻了解java多线程编程。
这是给开发者提供的一个最基本的java中线程的开发案例,看了就会,学了就懂的,但要注意线程使用的一些问题,很多网站都有,要细细看。
java一个多线程的经典例子java一个多线程的经典例子
Java线程Java线程Java线程Java线程Java线程Java线程
java线程分析java project例子,里面分析了sleep(),join(),yield()和wait以及notify等方法的使用以及需要注意的地方。
java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的...
Java多线程读大文件 java多线程写文件:多线程往队列中写入数据
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
Java 线程系列博文总结word化,编目如下,欢迎互相学习交流: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:...
java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程
Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发
Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表