[心得] 从0开始 2.多执行绪

楼主: gasbomb (虚空雷神兽)   2019-12-05 13:36:17
今天我们要来正式进入 multi-thread (多执行绪)的部分了
观察之前的程式片段可以发现到有两个 while 循环
一个负责建立连线, 另一个负责 echo
// 建立连线的循环
while (true) {
socket = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
PrintStream out = new PrintStream(socket.getOutputStream());
out.println("欢迎来到 telnet echo server!");
// 负责与使用者互动的循环
String input;
while ((input = in.readLine()) != null) {
if ("quit".equalsIgnoreCase(input)) {
out.println("Bye! 欢迎下次再来");
socket.close();
break;
}
out.println("Echo: " + input);
}
}
所以我们把负责与使用者互动的部分程式抽离出来
建立一个新的 Player class, 让原本的 ChatServer 专心处理连线就好
// Player.class
// ✂

Links booklink

Contact Us: admin [ a t ] ucptt.com