线程类(这里使用内部类):

class 类名 extends Thread {

	@Override
	public void run() {
		super.run();
		代码块;
	}

}

开启多线程需要使用该线程类对象的start()方法,例:

new 类名().start();

网络编程(这里使用基于TCP通信的套接字Socket):

客户端的socket配置:

Socket socket = new Socket("服务器端IP地址", 端口号); // Socket(String,int)

服务器端的接收:

ServerSocket serverSocket = new ServerSocket(与客户端对应的端口号); // 初始化端口
Socket socket = null;
while(true){ // 无限循环等待客户端连接
        socket=serverSocket.accept(); // 接受连接
}

客户端向服务器端传输字符串:

OutputStream os = socket.getOutputStream(); // 输出流的获取
PrintWriter pw = new PrintWriter(os); // 初始化缓冲字符输出流
pw.write(str+"\n"); // 写入任意字符串 必须以换行符'\n'结尾 因为这是缓冲字符输入流BufferedReader识别字符串结束的标志
pw.flush(); // 刷新缓冲区 使服务器端立即收到该字符串
socket.shutdownOutput(); // 关闭套接字的输出流
pw.close(); // 关闭缓冲字符输出流

服务器端接收字符串:

InputStream is = socket.getInputStream(); // 输入流的获取
InputStreamReader isr = new InputStreamReader(is); // 初始化桥接器
BufferedReader br = new BufferedReader(isr); // 初始化缓冲字符输入流
String str = br.readLine(); // 获取该字符串
socket.shutdownInput(); // 关闭套接字的输入流
br.close(); // 关闭缓冲字符输入流
isr.close(); // 关闭桥接器

客户端传输int/float/double数据(以int为例):

OutputStream os = socket.getOutputStream(); // 输出流的获取
DataOutputStream dos = new DataOutputStream(os); // 初始化数据输出流
dos.writeInt(1); // 写入数据
dos.flush(); // 刷新缓冲区
socket.shutdownOutput(); // 关闭套接字的输出流
dos.close(); // 关闭数据输出流

服务器端接收int/float/double数据(以int为例):

InputStream is = socket.getInputStream(); // 输入流的获取
DataInputStream dis = new DataInputStream(is); // 初始化数据输入流
int x = dis.readInt(); // 读取数据
socket.shutdownInput(); // 关闭套接字的输入流
dis.close(); // 关闭缓冲字符输入流

客户端传输对象(以自定义类User为例):

OutputStream os = socket.getOutputStream(); // 输出流的获取
ObjectOutputStream oos = new ObjectOutputStream(os); // 初始化对象输出流
oos.writeObject(new User()); // 写入对象
oos.flush(); // 刷新缓冲区
socket.shutdownOutput(); // 关闭套接字的输出流
oos.close(); // 关闭对象输出流

服务器端接收对象(以自定义类User为例):

InputStream is = socket.getInputStream(); // 输入流的获取
ObjectInputStream ois = new ObjectInputStream(is); // 初始化对象输入流
User user = (User) ois.readObject(); // 读取对象 因为返回的是Objcet对象 需要强转为我们需要的User对象 这一步通常需要try/catch
socket.shutdownInput(); // 关闭套接字的输入流
ois.close(); // 关闭对象输入流

完全使用完毕时记得加上socket.close();来关闭套接字。