Vla*_*sny 5 java multithreading concurrent-programming
我有以下TCP客户端 - 服务器通信结构:
问题是如何优雅地停止整个系统?我可以通过关闭ServerSocket来停止接受器线程.它会导致accept()阻塞调用抛出SocketException.但是如何阻止工人呢?他们从流中读取并且此调用正在阻止.根据这个流不会抛出InterruptedException,因此worker不能被中断().
看起来我需要从另一个线程关闭工作套接字,对吗?为此,套接字应该是一个公共字段,或者应该在worker中提供一个方法来关闭它.这会不错?或者可能是我的整个设计有缺陷?
| 归档时间: |
|
| 查看次数: |
4789 次 |
| 最近记录: |