|
@@ -17,6 +17,8 @@ public class TcpServer {
|
|
|
private Socket client;
|
|
private Socket client;
|
|
|
private int serverPort = 15678;
|
|
private int serverPort = 15678;
|
|
|
|
|
|
|
|
|
|
+ private final Object lock = new Object();
|
|
|
|
|
+
|
|
|
@PostConstruct
|
|
@PostConstruct
|
|
|
public void init(){
|
|
public void init(){
|
|
|
Runnable func0 = this::startServer;
|
|
Runnable func0 = this::startServer;
|
|
@@ -55,7 +57,9 @@ public class TcpServer {
|
|
|
|
|
|
|
|
reader = new BufferedReader(new InputStreamReader(client.getInputStream(), "GB2312"));
|
|
reader = new BufferedReader(new InputStreamReader(client.getInputStream(), "GB2312"));
|
|
|
writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(), "GB2312"));
|
|
writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(), "GB2312"));
|
|
|
-
|
|
|
|
|
|
|
+ synchronized (lock) {
|
|
|
|
|
+ lock.notify(); // 通知等待的线程
|
|
|
|
|
+ }
|
|
|
System.out.println("测试完成!");
|
|
System.out.println("测试完成!");
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
@@ -69,4 +73,10 @@ public class TcpServer {
|
|
|
public synchronized BufferedWriter getWriter() {
|
|
public synchronized BufferedWriter getWriter() {
|
|
|
return this.writer;
|
|
return this.writer;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public void awaitInitialization() throws InterruptedException {
|
|
|
|
|
+ synchronized (lock) {
|
|
|
|
|
+ lock.wait(); // 阻塞当前线程,直到有通知
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|