一个基本的网络程序起码需要包含两个线程,一个是响应UI界面用户事件的系统线程,另一个是接受和发送网络数据的网络线程,此处模拟了网络数据的收发:
/*MultiThreadTest.java*/
import java.io.*;
/**
*
* @author Avery Liu
* 模拟网络数据发送 */
public class MultiThreadTest {
public static void main(String[] args) {
BufferedReader br = null;
String input;
try {
br = new BufferedReader(
new InputStreamReader (System.in));
while (true) {
System.out.println("请输入内容(quit代表程序退出):");
//读取控制台输入
input = br.readLine();
//判断是否结束
if (input.equals("quit")) {
break; //程序结束
}
//模拟发送
NetDemoThread ndt = new NetDemoThread(input);
}
}catch(Exception e) {}
}
}
/*NetDemoThread.java*/
public class NetDemoThread extends Thread{
String data;
public NetDemoThread(String data) {
this.data = data;
start();
}
public void run() {
try {
System.out.println("开始发送");
Thread.sleep(5000); //模拟网络发送延迟
System.out.println("发送完成,发送的内容是:" + data);
}catch(Exception e) {}
}
}